WH_FOREGROUNDIDLE останавливается, когда программа теряет фокус

Я пытаюсь сделать процессор интенсивной фоновой обработки из программы на основе форм.
Я использую WH_FOREGROUNDIDLE обнаружить холостые. Хук выполняет некоторую обработку, обновляет форму и снова ждет хука.

Это прекрасно работает, пока я не нажму на какую-нибудь другую программу, а затем ловушка останавливается.
Если я нажимаю на форму, перехват начинается снова.

Это можно обойти? Или я использую неправильный метод для достижения своей цели?

0

Решение

Ты можешь использовать GetLastInputInfo определить, не занят ли пользователь для текущего процесса. Это полезно, например, в программах чата, чтобы пометить пользователя как отсутствующего. Однако он не представляет общесистемное состояние ожидания. Но проверка этого по таймеру позволила бы вам выполнить задачу только тогда, когда пользователь в данный момент не взаимодействует с приложением, не полагаясь на сообщения, которые доставляются только из-за активности пользователя.

0

Другие решения


По вопросам рекламы [email protected]