如果通过单击任务栏按钮

时间:2015-08-14 14:58:22

标签: c++ windows winapi

我的应用程序可以从其他应用程序接收消息。如果应用程序最小化,我想将其恢复到以前的状态而不关注它。

我是通过致电

来做的
::ShowWindow(hWnd, SW_SHOWNOACTIVATE);

如果使用标题栏中的“最小化”按钮将应用程序最小化,则效果很好,但如果通过单击Windows任务栏中的按钮将应用程序最小化,则应用程序将获得焦点。

这可以修复或解决吗?

1 个答案:

答案 0 :(得分:0)

您可以在HWND hwndForegroundWindow = GetForegroundWindow()函数调用之前执行以下ShowWindow。之后,您可以使用SetForegroundWindow(hwndForegroundWindow)恢复前景窗口。这取决于你对焦点的意思,前景窗口和焦点是不同的(对于元素焦点使用GetFocusSetFocus)。