0

Есть ли другой способ включить подсветку в Windows CE? В настоящее время я устанавливаю событие «PowerManager/ActivityTimer/UserActivity», которое в конечном итоге поддерживает подсветку. Я также хочу отслеживать, есть ли активность на устройстве, таком как touch и т. Д. Пользователем. Если в течение указанного времени пользователь не выполняет никаких действий, я хочу выполнить аннулирование конкретного приложения. Поскольку мы хотим сохранить подсветку, мы устанавливаем выше событие вручную, но теперь оно создает проблему для измерения фактической активности пользователя.Включение заднего света в окнах CE

Есть ли решение?

Спасибо, Omky

ответ

0

Каждое устройство будет иметь свой собственный специальный драйвер для подсветки, вероятно, доступ к DeviceIoControl вызовов. На устройствах CE, с которыми я работал с этими API, не включайте подсветку, а управляйте таймаутом и настройками интенсивности. Возможно, вы можете использовать API SetDevicePower() или SetPowerRequirement(), хотя я их никогда не использовал.

Я использовал событие «PowerManager/ActivityTimer/UserActivity», чтобы включить подсветку. Я считаю, что CE устанавливает это же событие из активности мыши и клавиатуры. Я безуспешно пытался обнаружить активность, ожидая этого события, но проблема в том, что нет никакой гарантии, что ваш поток будет запланирован, когда он будет установлен. Затем вы должны повторно установить событие, чтобы вызвать нормальное поведение системы.

Вы можете захватить активность клавиатуры SetWindowHookEx, см. http://www.codeproject.com/KB/windows/wincekbhook.aspx. Также есть статьи C# на сайте проекта кода. Обратите внимание, что на устройствах CE, которые я использовал, можно установить только один крючок, хотя на WM я этого не нашел.

Я подозреваю, что вы могли бы также отслеживать ввод мыши, я не уверен, как это сделать.