Прошу помощи. 
Есть ноут с такой клавиатурой:
 
Есть огромное желание чтобы при нажатии на кнопку выключения имитировалось нажатие 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. Ни сон, ни гибернация на этой операционке не отлавливаются... Хз может можно как-то иначе это сделать?