Я пытаюсь проверить, имеет ли javaw.exe фокус, а затем выполнить определенный код, если это произойдет.Как проверить, имеет ли определенный процесс фокус?
Раньше у меня был код, который будет искать идентификатор процесса javaw.exe, а затем сравните его с процессом, который в настоящее время имеет фокус, который работал некоторое время, но потом я заметил, когда у меня было более одного процесса javaw.exe он работает только на одном из этих процессов, в то время как мне нужно, чтобы он работал, когда какой-либо процесс javaw.exe имеет фокус.
Есть ли способ сделать это?
'System.Diagnostics.Process.GetCurrentProcess()' –
Упс. Ты прав. Вам понадобится функция API 'GetForgroundWindow' Win32 API (которая возвращает дескриптор окна), затем перебирает текущие запущенные процессы, проверяя каждый из них на имя процесса javaw.exe и сравнивая его с Главным окном для дескриптора окна переднего плана. –
http://stackoverflow.com/questions/884256/how-to-determine-if-an-process-is-the-currently-active-foreground-application –