1
有沒有辦法從所有正在運行的進程的完整列表中檢查哪個進程正在接收用戶輸入?例如:有沒有辦法來檢查哪個進程正在接收用戶輸入?
PROCESSENTRY32 procentry;
HANDLE hproc;
BOOL retval, ProcFound = false;
hproc = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //GetsSnapshotOfAllProcesses
if(hproc == INVALID_HANDLE_VALUE)
{ // If Couldnt get snapshot
MessageBox(NULL, "Unable To Get Snapshot", "LoaderError", MB_OK);
return false;
}
procentry.dwSize = sizeof(PROCESSENTRY32); // Initialize
retval = Process32First(hproc, &procentry); //Copies Snapshot procentry
while(retval)
{
**if(UserInput == TRUE))**
{
return procentry.th32ProcessID; //
}
retval = Process32Next(hproc, &procentry); //
}
return 0;
}
有沒有可以讓我檢查哪些進程正在接收用戶輸入的功能?
if(UserInput == TRUE))
此外,有沒有辦法將進程轉換爲字符串?
'GetForegroundWindow'會告訴你哪個窗口,用戶當前正在處理。你應該能夠從返回的窗口句柄中獲得進程。 –
獲取頂部窗口並檢查它是否包含對話框? 然後,如果爲true,則獲取與該窗口句柄關聯的進程? – AlexK
如果可能,我想從流程中獲取窗口,而不是從窗口獲取該流程。 – moonbeamer2234