gpt4 book ai didi

c - XLib: 'Soft-Closing' 一个窗口

转载 作者:太空宇宙 更新时间:2023-11-04 06:58:30 27 4
gpt4 key购买 nike

我知道,我可以通过调用“关闭”X11 窗口:

XDestroyWindow(display, id);

问题是,这会立即破坏窗口。另一方面,如果我单击关闭按钮(标题栏中的 x),该应用会显示类似“您真的要退出吗?”之类的内容。

那么如何模拟这种类型的窗口关闭呢?


背景:我正在关闭其他应用程序的窗口,而不是我自己的应用程序

最佳答案

我找到了一个解决方案:

XEvent event;
event.xclient.type = ClientMessage;
event.xclient.window = id;
event.xclient.message_type = XInternAtom(d, "WM_PROTOCOLS", TRUE);
event.xclient.format = 32;
event.xclient.data.l[0] = XInternAtom(d, "WM_DELETE_WINDOW", FALSE);
event.xclient.data.l[1] = CurrentTime;
XSendEvent(d, id, False, NoEventMask, &event);

其中d是显示句柄,id是窗口ID。

信用:https://john.nachtimwald.com/2009/11/08/sending-wm_delete_window-client-messages/

关于c - XLib: 'Soft-Closing' 一个窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41202622/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com