15,979
社区成员
发帖
与我相关
我的任务
分享
DWORD msID = GetCurrentProcessId();
HWND msHWND = GetTopWindow(0);
while(msHWND)
{
DWORD pid = 0;
DWORD dwTheardId = GetWindowThreadProcessId(msHWND,&pid);
if (pid == msID)
{
break;
}
msHWND = GetNextWindow( msHWND , GW_HWNDNEXT);
}
if (NULL == msHWND)
{
return;
}
HWND hCurWnd = NULL;
DWORD dwMyID;
DWORD dwCurID;
hCurWnd = GetForegroundWindow();
dwMyID = GetCurrentThreadId();
dwCurID = GetWindowThreadProcessId(hCurWnd, NULL);
AttachThreadInput(dwCurID, dwMyID, TRUE);
SetFocus(msHWND); //返回NULL,设置失败
SetForegroundWindow(msHWND);//设置后能成功激活进程窗口,但是无法将输入焦点转移到进程窗口
AttachThreadInput(dwCurID, dwMyID, FALSE);