Конференция "WinAPI" » Перехват WM_QUERYENDSESSION [D7, WinXP]
 
  • roughneck (16.09.09 14:10) [0]
    Как обработать сообщение WM_QUERYENDSESSION в программе без окон.
    Типа:

    program mdma;
    uses
     ...;
    var
      ...
    begin
     while GetMessage(Msg, HInstance, 0, 0) do
     begin
       .. разные действия ..
       TranslateMessage(Msg);
       DispatchMessage(Msg);
     end;
    end.
  • Игорь Шевченко © (16.09.09 14:35) [1]
    SetConsoleCtrlHandler
  • roughneck (16.09.09 15:45) [2]
    Будет ли SetConsoleCtrlHandler работать если нет вот этого: {$APPTYPE CONSOLE}
    ???

    т.е.
    вот программа

    program mdma;
    begin
    while GetMessage(Msg, HInstance, 0, 0) do
    begin
      TranslateMessage(Msg);
      DispatchMessage(Msg);
    end;
    end.
  • Сергей М. © (16.09.09 16:11) [3]

    > while GetMessage(Msg, HInstance, 0, 0) do


    Что за хрень ?
    Второй параметр д.б. либо 0 либо указывать хэндл окна.
    А ты ей пытаешься скормить хэндл, не имеющий ничего общего с окнами.
  • clickmaker © (16.09.09 16:18) [4]
    > Будет ли SetConsoleCtrlHandler работать если нет вот этого:
    > {$APPTYPE CONSOLE}

    нет.
    но можно создать невидимое окно
  • roughneck (21.09.09 12:19) [5]
    хорошо. А чем спрятать кнопку в таскбаре?
 
Конференция "WinAPI" » Перехват WM_QUERYENDSESSION [D7, WinXP]
Есть новые Нет новых   [134433   +23][b:0][p:0]