https://stackoverflow.com/questions/2320713/win32-switchtothiswindow-showwindow-and-setactivewindow
SetActiveWindow
仅适用于附加到当前线程的窗口,因此您不能使用它来激活另一个应用程序。
SetForegroundWindow 一个应用程序中的窗口置于前台 这仅在您的应用程序当前处于前台时才有效 窗口最小化不起作用
使用 可以检测窗口是否被最小化IsIconic(hWnd)
,然后发送ShowWindow(hWnd, SW_RESTORE)
恢复最小化的窗口。最后用于SetForegroundWindow(hWnd)
将窗口带到前面。
#include <Windows.h> #include <iostream> using namespace std; int main(int argc, char* argv[]) { HWND hWnd = NULL; hWnd = ::FindWindow(NULL, L"小王"); cout << ShowWindow(hWnd, SW_RESTORE)<<endl; //最小化的时候可以让他弹出来 但是没有最小化的在后台的时候就弹不出来.. cout << SetForegroundWindow(hWnd) <<endl;//正好! 这个是最小化的时候没有作用 return 0; }
标签:窗口,int,hWnd,应用程序,最小化,置顶 From: https://www.cnblogs.com/Galesaur-wcy/p/16810796.html