Вопрос Как заставить код повторять нажатия. c++

Эксперт
Статус
Оффлайн
Регистрация
20 Май 2020
Сообщения
1,382
Реакции[?]
447
Поинты[?]
3K
я хочу сделать авто-кликер какой либо клавиши на клавиатуре, кто знает как это сделать на c++​
 
Process.Start(Yougame);
Пользователь
Статус
Оффлайн
Регистрация
20 Мар 2018
Сообщения
193
Реакции[?]
140
Поинты[?]
9K
что-то типо того должно у тебя быть, пример дан - lets go говнокодить!
C++:
#include <iostream>
#include <Windows.h>

int main()
{
    std::cout << "LALT - Start\nRALT - Exit\n";

    while (true)
    {
        if (GetAsyncKeyState(VK_LMENU)) //LALT
        {
            Sleep(50);
            mouse_event(MOUSEEVENTF_LEFTDOWN, NULL, NULL, 0, 0);
            mouse_event(MOUSEEVENTF_LEFTUP, NULL, NULL, 0, 0);
        }

        if (GetAsyncKeyState(VK_RMENU))
        {
            exit(0);
        }
    }
}
 
working ?
Забаненный
Статус
Оффлайн
Регистрация
9 Ноя 2019
Сообщения
384
Реакции[?]
208
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Для таких целей ахк есть:Jebaited:
 
Начинающий
Статус
Оффлайн
Регистрация
22 Ноя 2019
Сообщения
47
Реакции[?]
13
Поинты[?]
0
C++:
#include "windows.h"

// коды кнопок можно посмотреть вот тут: https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
// а еще вместо mouse_event и keybd_event лучше юзать SendInput

static HWND hwnd;

int main() {
    hwnd = FindWindow(NULL, L"имя какого-нибудь окна");
    while (true) {
        // нажатие левой кнопки мыши при зажатом Numpud0
        if (GetAsyncKeyState(VK_NUMPAD0)) {
            mouse_event(MOUSEEVENTF_LEFTDOWN, NULL, NULL, 0, 0);
            Sleep(34); // не обязательный слип
            mouse_event(MOUSEEVENTF_LEFTUP, NULL, NULL, 0, 0);
            Sleep(50);
        }
        // нажатие кнопки F при зажатом Numpud1
        if (GetAsyncKeyState(VK_NUMPAD1)) {
            keybd_event(0x46, VkKeyScan(0x46), NULL, NULL);
            Sleep(34); // не обязательный слип
            keybd_event(0x46, VkKeyScan(0x46), KEYEVENTF_KEYUP, NULL);
            Sleep(50);
        }      
        // нажатие кнопки F в конкретном окне(в блокноте) при зажатом Numpud2
        if (GetAsyncKeyState(VK_NUMPAD2)) {
            if (hwnd) {
                PostMessage(hwnd, WM_KEYDOWN, 0x46, 0);
                Sleep(34);
                PostMessage(hwnd, WM_KEYUP, 0x46, 0);
                Sleep(50);
            }
        }
        Sleep(100);
    }
    return 0;
}
 
Эксперт
Статус
Оффлайн
Регистрация
20 Май 2020
Сообщения
1,382
Реакции[?]
447
Поинты[?]
3K
C++:
#include "windows.h"

// коды кнопок можно посмотреть вот тут: https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
// а еще вместо mouse_event и keybd_event лучше юзать SendInput

static HWND hwnd;

int main() {
    hwnd = FindWindow(NULL, L"имя какого-нибудь окна");
    while (true) {
        // нажатие левой кнопки мыши при зажатом Numpud0
        if (GetAsyncKeyState(VK_NUMPAD0)) {
            mouse_event(MOUSEEVENTF_LEFTDOWN, NULL, NULL, 0, 0);
            Sleep(34); // не обязательный слип
            mouse_event(MOUSEEVENTF_LEFTUP, NULL, NULL, 0, 0);
            Sleep(50);
        }
        // нажатие кнопки F при зажатом Numpud1
        if (GetAsyncKeyState(VK_NUMPAD1)) {
            keybd_event(0x46, VkKeyScan(0x46), NULL, NULL);
            Sleep(34); // не обязательный слип
            keybd_event(0x46, VkKeyScan(0x46), KEYEVENTF_KEYUP, NULL);
            Sleep(50);
        }    
        // нажатие кнопки F в конкретном окне(в блокноте) при зажатом Numpud2
        if (GetAsyncKeyState(VK_NUMPAD2)) {
            if (hwnd) {
                PostMessage(hwnd, WM_KEYDOWN, 0x46, 0);
                Sleep(34);
                PostMessage(hwnd, WM_KEYUP, 0x46, 0);
                Sleep(50);
            }
        }
        Sleep(100);
    }
    return 0;
}
а как сделать так что бы пока я держал например пробел он нажимался много раз, а когда я его отпуская он перестает нажиматься
 
Последнее редактирование:
Process.Start(Yougame);
Пользователь
Статус
Оффлайн
Регистрация
20 Мар 2018
Сообщения
193
Реакции[?]
140
Поинты[?]
9K
а как сделать так что бы пока я держал например пробел он нажимался много раз, а когда я его отпуская он перестает нажиматься
ну он написал тебе.
меняешь в этой строчке "if (GetAsyncKeyState(VK_NUMPAD0))" на любую кнопку, то есть на VK_SPACE
 
Начинающий
Статус
Оффлайн
Регистрация
22 Ноя 2019
Сообщения
47
Реакции[?]
13
Поинты[?]
0
а как сделать так что бы пока я держал например пробел он нажимался много раз, а когда я его отпуская он перестает нажиматься
C++:
#include "windows.h"

int main() {
    while (true) {
        while (GetAsyncKeyState(VK_SPACE)) {
            keybd_event(VK_SPACE, VkKeyScan(VK_SPACE), NULL, NULL);
            Sleep(34);
            keybd_event(VK_SPACE, VkKeyScan(VK_SPACE), KEYEVENTF_KEYUP, NULL);
            Sleep(50); // этот слип отвечает за кд между каждой эмуляцией нажатия
        }   

        Sleep(100);
    }
    return 0;
}
 
Сверху Снизу