• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Запретить выключение

  • Автор темы red
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

red

Как запретить выключение Windows НЕ используя CloseQuery?
 
G

Guest

red
ловить сообщения WM_QUIT и т.д.
т.е. через WinAPI.
 
R

red

У меня есть ещё одна проблема : когда начнётся выключение, то не должна закрыться ни одна из работающих программ. Пробовал реализовать через хуки, но не получается, пожалуйста, подкинте примерчик.
 
G

Guest

red
тогда надо ловить wm_QueryEndSession и запрещать его.
 
R

red

Чего-то не сильно ловиться, вот пример :
Код:
{
Это всё лежит в dll
}
procedure SetHook; export; stdcall;
Begin
 SysHook:=SetWindowsHookEx(WH_GETMESSAGE,@HookProc,HInstance,0);
End; 

function HookProc(Code:Integer; WParam:LongInt; LParam:LongInt):LongInt; stdcall;
begin
 if Code=HC_ACTION then
 case TMsg(Pointer(LParam)^).Message of
   WM_QUERYENDSESSION :
   begin
     Beep(3000,300);
   end
 else Result:=CallNextHookEx(SysHook,Code,WParam,LParam);
 end;
end;
Это дело не работает. Хоря вроде бы всё правильно. А как запретить его, я вообще не знаю.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!