|
|
Регистрация | << Правила форума >> | 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. Ни сон, ни гибернация на этой операционке не отлавливаются... Хз может можно как-то иначе это сделать? |
#2
|
|||
|
|||
А в настройках что разве нельзя так сделать? Там кажется все режимы можно настраивать. У меня на 8-ке так и сделано. А другой ноут с 10-й пока что руки не дошли до всех настроек. Да мне в принципе и не надо тонких настроек.
Последний раз редактировалось Goras, 30.09.2020 в 13:51. |
#3
|
||||
|
||||
Программа AtnSoft Key Manager. Уже 100 лет как ею пользуюсь, очень удобно!
Позволяет переназначать клавиши, блокировать, ставить макросы и т.д. Например, у меня на неиспользуемую кнопку "Win" повешено переключение языка одной кнопкой, на неиспользуемый правый Ctrl - запятая, а на соседние с ней тоже неиспользуемые кнопки - Copy/Paste. На ScrollLock-е - пуск/пауза мультимедиа, на Pause - свернуть все окна. Просто не представляю, как без такой программы можно жить))) |
#4
|
|||
|
|||
Цитата:
В настройках системы на клавишу выключения ноута можно запрограммировать: либо сон, либо гибернация, либо выключение, либо бездействие. Индивидуальных хотелок не предусмотрено. |
#5
|
|||
|
|||
Цитата:
Спасибо, попробую и эту. Пробовал аналогичные, функционал обычных кнопок легко менялся, в отличии от кнопки POWER. Как только я пытался поменять действие этой кнопки, то операционка (Win 10) отказывалась загружаться и, периодически перезагружаясь, начинала чего-то исправлять... Фиг знает, то ли проги в реестр что-то вносят эдакое, то ли чего, но попытки со стандартными программами у меня не увенчались успехом. Вот и решил вспомнить старую добрую Delphi. При этом на старом компе под управлением Win XP, всё заработало, а в десятке не хочет... --- Попробовал AtnSoft Key Manager. Или я не допетрил, как можно изменить именно эту клавишу, либо прога просто не отлавливает нажатие POWER (( Последний раз редактировалось gumel, 14.05.2020 в 05:17. |
#6
|
||||
|
||||
Приветствую, а Вы можете отследить код клавиши выключения компьютера, может на нее повесить хук и вместо выключения эмулировать нажатие нужной вам клавиши?
Второй вариант: в фоне по событиям отслеживать завершение Windows и отменять его (н-р, для надежности, можно выполнить "shutdown -a") и опять же эмулировать нажатие нужной вам клавиши? Но, есть минус, некоторые программы успеют не\корректно завершиться. |