我正在尝试找到正确的方法来最小化/最大化另一个线程拥有的窗口。我的目标窗口可以是全屏或非全屏状态(无论其状态如何,我都应该能够将其最小化和最大化)。我尝试了各种组合的ShowWindow SW_MINIMIZE、SW_MAXIMIZE、SW_FORCEMINIMIZE等...但我唯一能实现的结果是在窗口被最小化且为全屏状态时恢复它(最大化)使用ShowWindow(hWnd, SW_RESTORE)。
以下是我用来检索我的句柄的代码:
以下是我用来检索我的句柄的代码:
#include <Windows.h>
#include <iostream>
// I'm a console application
int main(int argc, char* argv[]) {
HWND hWnd = FindWindow(TEXT("MyWindowClass"), NULL);
if(IsWindow(hWnd)) {
std::cout << "Window found!" << std::endl;
SetForegroundWindow(hWnd); // I'll give focus to my window. This is always working.
if(IsIconic(hWnd))
ShowWindow(hWnd, SW_RESTORE); // This is working only if the window is minimized while in fullscreen mode
Sleep(3000);
ShowWindow(hWnd, SW_MINIMIZE); // Not working. SW_FORCEMINIMIZE, SW_HIDE etc are not working either.
}
return 0;
}