не ловится сообщение

Тема в разделе "WASM.BEGINNERS", создана пользователем Gonzzik, 22 июл 2007.

  1. Gonzzik

    Gonzzik New Member

    Публикаций:
    0
    Хочю поймать сообщение которое посылает система при ребуте WM_QUERYENDSESSION.
    Код (Text):
    1.   Mess        MSG
    2.  
    3. .first:
    4.       invoke    GetMessage,Mess,0,0,0
    5.       cmp       [Mess.message],11h
    6.       je        .next
    7.  
    8.       invoke    TranslateMessage,Mess
    9.       invoke    DispatchMessage,Mess
    10.       jmp       .first
    11.  
    12.   .next:
    13.       invoke    MessageBox,0,0,0,0
    14.       invoke    ExitProcess,0
    при перезагрузке должен выскочить месажбокс. Невыходит!
     
  2. tinok

    tinok New Member

    Публикаций:
    0
    А Mess у тебя что? если локальная структура - тогда надо ADDR Mess.
    Код (Text):
    1. local Mess: MSG
    2.   ...
    3.  
    4.   .first:
    5.       invoke    GetMessage,ADDR Mess,0,0,0
    6.       cmp       Mess.message,11h
    7.       je        .next
    8.  
    9.       invoke    TranslateMessage,ADDR Mess
    10.       invoke    DispatchMessage,ADDR Mess
    11.       jmp       .first
    12.  
    13.   .next:
    14.       invoke    MessageBox,0,0,0,0
    15.       invoke    ExitProcess,0
     
  3. Gonzzik

    Gonzzik New Member

    Публикаций:
    0
    это код на фасм
     
  4. tinok

    tinok New Member

    Публикаций:
    0
    Gonzzik
    Сорри, не дочитал. Но как у тебя MessageBox выскачит, если система по умолчанию возвращает TRUE и завершение продолжается.?
    Может, лучше создать окно и перехватывать это сообщение там, возвращая FALSE?
     
  5. Gonzzik

    Gonzzik New Member

    Публикаций:
    0
    помоему меседжбокс должен выскочить