描述:
我有一个隐藏的窗口,已经可以找到,但是每次显示的时候,总是闪一下就到后面去了,网上找了很多方法,可惜还是不行,请大侠指教!
我的代码:
HWND hwnd = FindWindow(NULL, "hideWindowName");
if(!hwnd)
{
toexe(cmd);
}
else{
HWND hForeWnd = ::GetForegroundWindow();
DWORD dwForeID = ::GetWindowThreadProcessId(hForeWnd,NULL);
DWORD dwCurID = ::GetCurrentThreadId();
::AttachThreadInput(dwCurID,dwForeID,TRUE);
::ShowWindow(hwnd, SW_SHOW); //find Hide window
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
SetForegroundWindow(hwnd); //show it
SetFocus(hwnd);
::AttachThreadInput(dwCurID,dwForeID,FALSE);
}