Один из моих коллег теряет фокус на своем текущем окне каждые 5 минут или около того. Теперь мне интересно, какой процесс крадет фокус
Я нашел это классное приложение focus.exe, в котором будет отображаться текущее окно переднего плана - окно с фокусом.
Всякий раз, когда фокус был украден, программа печатала эту информацию:
9524:Could not open process | Wed Oct 18 14:57:15 2017
19304:Could not open process | Wed Oct 18 14:57:15 2017
Как вы можете видеть, фокус может быть украден из-за процесса, который не удалось открыть, поэтому эта информация мне не сильно помогает. Что помогает мне, так это то, что он все еще регистрирует PID процессов.
Поэтому я написал небольшой PowerShell Oneliner, который должен отлавливать каждый новый созданный процесс и выводить информацию о процессе:
$p = ps ; while (1) { ps | ? { $_.id -notin $p.Id } ; sleep -milliseconds 1 }
Но это не уловило ни одного из указанных PID focus.exe
.
Как я могу поймать процессы, которые не могли быть запущены, но все еще получили PID?