Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Grinder ©   (2004-05-29 16:22:00) 

Чего-то не сильно ловиться, вот пример :
Код  

{
Это всё лежит в 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;

Это дело не работает. Хоря вроде бы всё правильно. А как запретить его, я вообще не знаю.


SammIk   (2004-05-30 09:37:00) [1]

Таким способом ты лишь отлавливаешь ТО, что уже случилось.
Ось уже закрывается и сообщает тебе об этом)).
И это сообщение можно отловить и без хуков).


Gero   (2004-05-29 16:28:00) [2]


> Как запретить выключение Windows

Никак.


Наверх

Титульная страница Поиск, карта сайта Написать письмо