В настоящее время я работаю над уровнем абстракции платформы мобильных приложений / оборудования для корпоративного клиента, и одно из требований состояло в том, чтобы после определенного периода бездействия появлялась заставка. Поскольку на мобильных устройствах нет мыши для перемещения, «активность» состоит из нажатий клавиш или нажатий на экран. У одного из наших устройств нет сенсорного экрана, и, чтобы сделать длинную историю, поставщик мобильного оборудования не реализовал должным образом вызовы Win32 API, которые позволили бы мне получить время с момента последнего пользовательского ввода.
Поскольку поставщик оборудования не желал правильно реализовывать API Win32, следующий лучший способ, которым я знал, чтобы мое консольное приложение могло перехватывать нажатия клавиш в любом приложении в системе, это установка глобальной клавиатуры.
Тем не менее, я согласен, что сценарий для среднего потребителя сильно отличается от моего, и ОС должна позволять пользователю выполнять такие действия в белом списке.