如何在任务管理器的“应用程序”选项卡中隐藏窗口?

时间:2010-09-10 07:12:38

标签: c windows winapi taskmanager

我对CreateWindowEx函数有疑问。我有2个窗口,一个主窗口和一个弹出窗口。我想要一个弹出窗口隐藏在任何地方。它当前未显示在任务栏中,甚至在alt + tab菜单中也不可见。但是,它在任务管理器的“应用程序”选项卡上可见。我需要在CreateWindowEx中使用哪些标志来隐藏弹出窗口?

当前代码:

hHistoryWindow = CreateWindowEx(WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE | WS_EX_LAYERED, szAppName, L"HistoryWindow",  WS_EX_TOPMOST | WS_POPUP, WIDTH, TOP, width, height, NULL, NULL, hInstance, NULL);

我还想问一下,在使用DestroyWindow()函数之前是否需要从“静态”窗口释放位图资源?我用这种方式将图像设置为“静态”窗口:

SendMessage (hStatic, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hWhiteStone);

是否足以释放hWhiteStone或者我是否需要释放SendMessage()返回的句柄( - 或者它是由DestroyWindow自动完成的)?

感谢您提供任何信息。

克拉

1 个答案:

答案 0 :(得分:3)

让它成为主窗口的孩子。通过将第四个最后一个参数更改为主窗口的HWND来完成此操作。这应该使窗口将弹出窗口视为与主窗口相同的应用程序的一部分。