|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Не дать уснуть Windows 10 или как подменить действие нажатия клавиши POWER?
Прошу помощи.
Есть ноут с такой клавиатурой: Есть огромное желание чтобы при нажатии на кнопку выключения имитировалось нажатие END. Перепробовал разные способы. Ничего не получалось. Решил перехитрить виндовс, назначил на копку выключения сон и попытался отловить это событие. Желаемую штуковину получилось реализовать через WM_POWERBROADCAST: Код:
... procedure WMPOWERBROADCAST(var Msg: TWMPOWER); message WM_POWERBROADCAST; ... const PBT_APMQUERYSUSPEND = 0; ... procedure TForm1.WMPOWERBROADCAST(var Msg: TWMPOWER); begin if TMessage(Msg).Wparam = PBT_APMQUERYSUSPEND then // sleep begin Msg.Result := integer(BROADCAST_QUERY_DENY); // no sleep keybd_event(VK_END, 0, 0, 0); // keydown END. keybd_event(VK_END, 0, KEYEVENTF_KEYUP, 0); //keyup END end; end; Алгоритм четко работает на Windows XP. К сожалению, не работает на Windows 10. Ни сон, ни гибернация на этой операционке не отлавливаются... Хз может можно как-то иначе это сделать? |