2016-09-16 6 views
0

Мне нужно перечислить весь процесс, выполняющийся на моей машине, и сообщить, произойдет ли какое-либо изменение (например: изменение видимости окон, открытие нового окна, закрытие окна).
Чтобы перечислить все процессы, я могу использовать эту функцию, предоставляемую MSDN: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682623(v=vs.85).aspx
Я думал, что мне нужно сохранить список запущенных процессов и проверить (как без опроса?), Если он изменится. Могу ли я это сделать без сохранения текущих текущих процессов?

Для видимых изменений здесь https://msdn.microsoft.com/it-it/library/windows/desktop/ms646274(v=vs.85).aspx Я обнаружил, что сообщение VM_ACTIVATE отправлено в оба окна. Как я могу его поймать? Могу ли я сделать это по-другому?Проверить видимость или изменение статуса окна

ответ

0

Для кого интересует эта тема, я обнаружил, что для проверки, было ли создано или уничтожено окно, я должен использовать SetWinEventHook(), как в example of its MSDN page. Я просто проверяю, является ли значение event значением EVENT_OBJECT_CREATE или EVENT_OBJECT_DESTROY. Для других событий проверьте event constants list.

 Смежные вопросы

  • Нет связанных вопросов^_^