Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
#1

PeekMessage работает нестабильно - C++

08.01.2016, 17:33. Просмотров 114. Ответов 0
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<windows.h>
#include <iostream>
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<<a;
    PeekMessage(&msg,NULL,0,0,0);
}
}
Эта программа выводит код нажатой клавиши,даже когда она неактивна.После вывода нескольких клавиш программа даёт сбой.Я заменил PeekMessage на GetMessage и всё работало стабильно,но мне такой вариант не подходит.Помогите сделать программу стабильной с PeekMessage.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2016, 17:33     PeekMessage работает нестабильно
Посмотрите здесь:

C++ Release не работает, Debug работает

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru