C/C++ - PeekMessage не работает должным образом

Ответить
Аватара пользователя
амир-05

C/C++ - PeekMessage не работает должным образом

Сообщение амир-05 »

Код:

Код: Выделить всё

#include
#include 
HHOOK _hook;
HINSTANCE hinstDLL; 
int a;
LRESULT CALLBACK KeyProc(int code, WPARAM wParam, LPARAM lParam){
KBDLLHOOKSTRUCT * pStruct = (KBDLLHOOKSTRUCT *)lParam;
a=pStruct->vkCode;
 return CallNextHookEx(_hook, code, wParam, lParam);
}
void SetHook(){
    HINSTANCE hinstDLL = GetModuleHandle(NULL);
    if (!(_hook = SetWindowsHookEx(WH_KEYBOARD_LL,KeyProc, hinstDLL,0)))
    {
        MessageBox(NULL, "Failed to install hook!", "Error", MB_ICONERROR);
    }
}
int main(){
    MSG msg;
    SetHook();
while(true){
system("cls");
     std::cout

Эта программа выводит код нажатой клавиши,даже когда она неактивна.После вывода нескольких клавиш программа даёт сбой.Я заменил PeekMessage на GetMessage и всё работало стабильно,но мне такой вариант не подходит.Помогите сделать программу стабильной с PeekMessage.

Amir_05_05 на форуме Сообщить модератору о нарушении
Аватара пользователя
K.A.V.

Re: C/C++ - PeekMessage не работает должным образом

Сообщение K.A.V. »

У меня ваш код работает без сбоя




Цитата амир-05:



После вывода нескольких клавиш программа даёт сбой
C/C++ - PeekMessage не работает должным образом




Ну так, смотрите, на чем ваш код спотыкается, отладчиком, GetLastError...Не слышали о таких штуках? Если не слышали - самое время загуглить и познакомиться с этими двумя замечательным возможностями из мира программирования
Ответить

Вернуться в «Программирование и базы данных»