C++ Вопрос Keybd_event

Начинающий
Статус
Оффлайн
Регистрация
23 Авг 2022
Сообщения
54
Реакции[?]
1
Поинты[?]
0
Привет ребята!
Вобщем нужен код который будет при нажатие на клавишу "Q" с эмулирует нажатие 1 и получит в итоге две "QQ" получается за 1 нажатия делаем 2 буквы.
Помогите бедолаге.
 
Забаненный
Статус
Оффлайн
Регистрация
2 Мар 2021
Сообщения
1,083
Реакции[?]
406
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет ребята!
Вобщем нужен код который будет при нажатие на клавишу "Q" с эмулирует нажатие 1 и получит в итоге две "QQ" получается за 1 нажатия делаем 2 буквы.
Помогите бедолаге.
C++:
#include <windows.h>
#include <iostream>

int main()
{
    while ( true )
    {
        if ( GetAsyncKeyState( 0x51 ) )
        {
            keybd_event( 0x51, 0, NULL, 0 );
            keybd_event( 0x51, 0, KEYEVENTF_KEYUP, 0 );
            break;
        }
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
23 Авг 2022
Сообщения
54
Реакции[?]
1
Поинты[?]
0
C++:
#include <windows.h>
#include <iostream>

int main()
{
    while ( true )
    {
        if ( GetAsyncKeyState( 0x51 ) )
        {
            keybd_event( 0x51, 0, NULL, 0 );
            keybd_event( 0x51, 0, KEYEVENTF_KEYUP, 0 );
            break;
        }
    }
}
Спасибо! А вот задержку можно реализовать как-то? Выползает вместо 2 QQ очень много QQQQQQQQQQ пробывал sleep(200) фпс в ноль падает.
 
VirtualAllocEx
Пользователь
Статус
Оффлайн
Регистрация
30 Дек 2021
Сообщения
358
Реакции[?]
83
Поинты[?]
5K
I Want to Die in New Orleans
Участник
Статус
Оффлайн
Регистрация
10 Окт 2020
Сообщения
516
Реакции[?]
496
Поинты[?]
85K
Привет ребята!
Вобщем нужен код который будет при нажатие на клавишу "Q" с эмулирует нажатие 1 и получит в итоге две "QQ" получается за 1 нажатия делаем 2 буквы.
Помогите бедолаге.
C++:
#include <Windows.h>


void ClickKeyboard(DWORD click_amount, BYTE key);

int main() {
    ClickKeyboard(3/*скок раз тебе нужно кликнуть*/, 'Q');

    Sleep(-1);
}

void ClickKeyboard(DWORD click_amount, BYTE key) {
    if (click_amount == NULL || key == NULL)
        return;

    for (int i = 0; i < click_amount; ++i) {
        keybd_event(key, NULL, KEYEVENTF_EXTENDEDKEY, NULL);
        keybd_event(key, NULL, KEYEVENTF_KEYUP, NULL);
    }
}
 
Сверху Снизу