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

keybd_event и GetKeyState - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.90
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
15.05.2011, 16:47     keybd_event и GetKeyState #1
пытаюсь сделать так, когда я нажму некую клавишу, то потом программа будет имитировать её нажатие до тех пор, пока я не нажму её снова. Делаю как-то так:
C++
1
2
3
4
5
6
7
8
while(1)
    {
        if(GetKeyState('Q') == 1)
        {
            Sleep(100);
            keybd_event('Q',0,0,0);
        }
    }
однако таким способом неочень хорошо выходит, есть какая-нибудь альтернатива keybd_event, которую не будет перехватывать GetKeyState, или же наоборот?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2011, 16:47     keybd_event и GetKeyState
Посмотрите здесь:

keybd_event некорректная работа C++ Builder
Неработает SendInput и keybd_event Delphi
keybd_event нажимает два раза Delphi
Visual Basic .NET Ошибка с keybd_event: не происходит нажатие сочетаний клавиш
Имитация нажатия Tab с помощью keybd_event Visual Basic
Аналог keybd_event C++ WinAPI
Выход из цикла по нажатию клавиши (Аналог getkeystate) C Linux
Вводим значение из Edit1 (keybd_event) Delphi

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
15.05.2011, 19:04     keybd_event и GetKeyState #2
посмотрите на kbhit http://msdn.microsoft.com/en-us/libr...=VS.80%29.aspx
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
16.05.2011, 14:36  [ТС]     keybd_event и GetKeyState #3
kbhit тоже не помогает
вот интересно, почему так происходит?
C++
1
2
3
Sleep(5000);
if(GetAsyncKeyState('C'))
    cout << "C";
запускается программа, пока идёт слип, я жму клавишу с, слип проходит и функция GetAsyncKeyState возвращает true, почему?
Yandex
Объявления
16.05.2011, 14:36     keybd_event и GetKeyState
Ответ Создать тему
Опции темы

Текущее время: 16:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru