今天在研究模拟任务管理器图标点击效果,在网上搜索了一些信息
主要思路是先把最小化或者在其他界面后面的界面(官方不在Z轴的顶层)
显示出来界面-》一直置于最顶层-》取消置于最顶层-》激活窗口
代码如下:
HWND hProgramWnd = ::FindWindow(NULL,L"XXXXX");
if (hProgramWnd)
{
//个别人用SentMessage,容易产生阻塞
PostMessage(hProgramWnd, WM_SYSCOMMAND, SC_RESTORE, 0);
SetWindowPos(hProgramWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);
SetWindowPos(hProgramWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);
SetForegroundWindow(hProgramWnd);
CloseHandle(hProgramWnd);
}
}