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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.90
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
#1

keybd_event и GetKeyState - C++

15.05.2011, 16:47. Просмотров 2636. Ответов 2
Метки нет (Все метки)

пытаюсь сделать так, когда я нажму некую клавишу, то потом программа будет имитировать её нажатие до тех пор, пока я не нажму её снова. Делаю как-то так:
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, или же наоборот?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2011, 16:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос keybd_event и GetKeyState (C++):

Выход из цикла по нажатию клавиши (Аналог getkeystate) - C Linux
Нужно выйти из цикла по сигналу от клавиатуры, getchar() не подходит, так как каждый раз ожидает ввода. Есть ли какой-нибудь аналог...

Аналог keybd_event - C++ WinAPI
Ребят, какой есть аналог функции keybd_event? Какими еще способами можно произвести нажатие клавиши? Данная функция не работает...

Комбинация клавиш keybd_event - Delphi
Как реализовать в своей виртуальной клавиатуре комбинацию клавиш? Нажимаю на Шифт+Кнопка А либо Капс Лок и Ctrl+Z(как примеры) Чтобы...

Keybd_event в других приложениях - C++ WinAPI
По bluetooth с телефона посылаю сообщение на сервер. В зависимости от того, какое пришло сообщение, нажимается та или иная клавиша...

keybd_event некорректная работа - C++ Builder
Есть строка "abcdefghijklmno". Я пытаюсь эмулировать её нажатие вызывая в цикле: AnsiString h="abcdefghijklmno"; ...

Неработает SendInput и keybd_event - Delphi
Здравствуйте! Помогите пожалуйтса, пишу что-то наподобии трейнера(или макроса) для одной игры, но почему-то нажимается совсем не та...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
15.05.2011, 19:04 #2
посмотрите на kbhit http://msdn.microsoft.com/en-us/libr...=VS.80%29.aspx
0
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
16.05.2011, 14:36  [ТС] #3
kbhit тоже не помогает
вот интересно, почему так происходит?
C++
1
2
3
Sleep(5000);
if(GetAsyncKeyState('C'))
    cout << "C";
запускается программа, пока идёт слип, я жму клавишу с, слип проходит и функция GetAsyncKeyState возвращает true, почему?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2011, 14:36
Привет! Вот еще темы с ответами:

Вводим значение из Edit1 (keybd_event) - Delphi
Нужно сделать следующие, ввести символы из edit1 в значение на сайте при регистрации. Подскажите как это можно реализовать.

keybd_event нажимает два раза - Delphi
Вот почитал мануал и накидал ловушку. Работает четко но с одним недостатком keybd_event нажимает два раза на клавишу вместо одного. Как это...

Имитация нажатия Tab с помощью keybd_event - Visual Basic
Имитирую нажатия клавиш в сторонней программе с помощью Private Declare Sub keybd_event Lib &quot;user32.dll&quot; _ (ByVal bVk As...

Передать значение из TextBox в метод keybd_event - C++/CLI WinForms
Здравствуйте, поиск по форуму не дал результатов, как можно в keybd_event(VK_LWIN, 0, 0, 0); занести заместо кода клавиши...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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