16,551
社区成员
发帖
与我相关
我的任务
分享HWND hWndPrevious = ::GetWindow(::GetDesktopWindow(),GW_CHILD);
while (::IsWindow(hWndPrevious))
{
if (::GetProp(hWndPrevious,AfxGetAppName()))
{
//主窗口已最小化,恢复
if (::IsIconic(hWndPrevious))
{
::ShowWindow(hWndPrevious,SW_RESTORE);
}
//将主窗口激活
::SetForegroundWindow(hWndPrevious);
//将主窗口的对话框激活
::SetForegroundWindow(
::GetLastActivePopup(hWndPrevious));
//退出本实例
return FALSE;
}
//继续寻找下一窗口
hWndPrevious = ::GetWindow(hWndPrevious,GW_HWNDNEXT);
}
LRESULT CALLBACK CBTProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if(nCode < 0)
{
return CallNextHookEx(g_hHook, nCode, wParam, lParam);
}
switch(nCode)
{
case HCBT_ACTIVATE:
HWND hWnd = (HWND)wParam;
char szTitle[256];
GetWindowText(hWnd, szTitle, sizeof(szTitle));
return 0;
}
}
// 调用下一个Hook
return CallNextHookEx(g_hHook, nCode, wParam, lParam);
}