我想用
创建一个窗口CreateWindowEx(WS_EX_TOOLWINDOW | WS_EX_LAYERED, wc.lpszClassName, 0, WS_POPUP | WS_VISIBLE | WS_SYSMENU, ...);
桌面的一部分。 (我知道这可能是不可能的,但我希望尽可能接近这种感觉)。
因此,我需要在 WIN + D 被点击时(或点击屏幕Show desktop
按钮的右下角)时,窗口< em>不应隐藏。
如何在使用 WIN + D 显示桌面时阻止隐藏窗口?
注意:我最初认为可以通过防止窗口最小化来实现 (https://stackoverflow.com/questions/27781352/prevent-window-to-be-minimized?noredirect=1#comment43975051_27781352)但正如一些用户所指出的那样 这是另一个问题。
答案 0 :(得分:0)
可以通过执行以下操作使窗口成为桌面的一部分:
HWND hwndOwner = GetWindow(GetWindow(GetTopWindow(0), GW_HWNDLAST), GW_CHILD);
SetWindowLong(hwndMain, GWL_HWNDPARENT, (LONG) hwndOwner);
另外尝试另一个测试:http://files.rsdn.ru/42164/quasi_owner.zip(exe +源代码,在Win7-x86上测试)。
第一版(不是真的有效):
移除WS_MINIMIZEBOX
&amp;添加WS_EX_TOPMOST