Включение подсветки в Windows CE - PullRequest
       30

Включение подсветки в Windows CE

0 голосов
/ 15 сентября 2011

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

Есть ли какое-либо решение?

Спасибо, Омки

1 Ответ

0 голосов
/ 30 сентября 2011

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

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

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

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

...