C ++, как разорвать цикл сообщений в хуке Windows - PullRequest
0 голосов
/ 30 ноября 2018

Мне нужно разорвать цикл сообщений в хуке клавиатуры win32.Цикл выглядит так:

MSG msg;
    while (GetMessage(&msg, NULL, NULL, NULL))  
    {
        TranslateMessage(&msg); 
        DispatchMessage(&msg);
    }

Я использовал метод unhook, но он не работает.и у меня есть другой вопрос, что если я изменю параметр цикла while на! GetMessage, он будет работать так же, как и раньше.и если я добавлю printf внутри цикла while, то ничего не печатать.Я просто хочу сделать DLL для крючка клавиатуры.а метод в dll надо заканчивать.с этим (цикл сообщений) я не могу завершить (или вернуть что-то) этот метод.

Извините за мой плохой английский.

Спасибо.

1 Ответ

0 голосов
/ 30 ноября 2018

Используйте PostQuitMessage(0), чтобы прервать процедуру.Вы можете поместить его в свою оконную процедуру, например, в сообщение WM_DESTROY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...