C++ Вопрос Как сделать , чтобы нажимались 2 клавиши одновременно , а не последовательно?

Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2018
Сообщения
306
Реакции[?]
52
Поинты[?]
1K
Вот код:
Код:
if (GetAsyncKeyState(0x58))
        {

            
            
            keybd_event(0x51, 0, 0, 0);
            keybd_event(0x51, 0, KEYEVENTF_KEYUP, 0);
            mouse_event(MOUSEEVENTF_LEFTDOWN , 0, 0, 0, 0);
            mouse_event(MOUSEEVENTF_RIGHTDOWN , 0, 0, 0, 0);

            

            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
        }
Мне нужно чтобы ЛКМ и ПКМ нажимались одновременно , а не последовательно (сейчас они нажимаются последовательно).
 
НЕКАСЕСТВЕНЫЙ КАД
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,431
Реакции[?]
252
Поинты[?]
4K
НЕКАСЕСТВЕНЫЙ КАД
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,431
Реакции[?]
252
Поинты[?]
4K
а блять ебаный рот насрали под дверь
шя
mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
вроде так
 
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2018
Сообщения
306
Реакции[?]
52
Поинты[?]
1K
а блять ебаный рот насрали под дверь
шя
mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
вроде так
Код:
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
все равно одновременно не нажимает
 
НЕКАСЕСТВЕНЫЙ КАД
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,431
Реакции[?]
252
Поинты[?]
4K
Код:
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
все равно одновременно не нажимает
ну я хз тогда, мб функция такая ебаная
 
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2018
Сообщения
306
Реакции[?]
52
Поинты[?]
1K
ну я хз тогда, мб функция такая ебаная
da
ну я хз тогда, мб функция такая ебаная
кстати, раз уж данная проблема не решается, то как в этом коде
Код:
if (GetKeyState(0x58))
        {

            
            
            keybd_event(0x51, 0, 0, 0);
            keybd_event(0x51, 0, KEYEVENTF_KEYUP, 0);
            mouse_event(MOUSEEVENTF_LEFTDOWN , 0, 0, 0, 0);
            mouse_event(MOUSEEVENTF_RIGHTDOWN , 0, 0, 0, 0);

            

            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
        }
сделать так чтобы действие выпонялось 1 раз а не зацикливалось, типо нажимаешь на кнопку 1 раз и действия не останавливалось, а мне надо чтобы 1 раз нажал и оно 1 раз выполнилось
 
Последнее редактирование:
ставь чайник, зажигай плиту
Эксперт
Статус
Оффлайн
Регистрация
22 Май 2020
Сообщения
1,444
Реакции[?]
1,092
Поинты[?]
10K
da

кстати, раз уж данная проблема не решается, то как в этом коде
Код:
if (GetKeyState(0x58))
        {

          
          
            keybd_event(0x51, 0, 0, 0);
            keybd_event(0x51, 0, KEYEVENTF_KEYUP, 0);
            mouse_event(MOUSEEVENTF_LEFTDOWN , 0, 0, 0, 0);
            mouse_event(MOUSEEVENTF_RIGHTDOWN , 0, 0, 0, 0);

          

            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
        }
сделать так чтобы действие выпонялось 1 раз а не зацикливалось, типо нажимаешь на кнопку 1 раз и действия не останавливалось, а мне надо чтобы 1 раз нажал и оно 1 раз выполнилось
Approved
либо другие функции (не GKS), либо так:

C++:
static bool down;
if (GetKeyState(..) && !down)
{
    // ..
    down = true;
}
else
    down = false;
 
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2018
Сообщения
306
Реакции[?]
52
Поинты[?]
1K
Approved
либо другие функции (не GKS), либо так:

C++:
static bool down;
if (GetKeyState(..) && !down)
{
    // ..
    down = true;
}
else
    down = false;
оно работает так , что я один раз нажал и оно бесконечно выполняется и по нажатию клавиши останавливается, но мне нужно, чтобы по нажатию клавиши оно выполнялось только 1 раз и прекращалось, возможно ли это??
 
ставь чайник, зажигай плиту
Эксперт
Статус
Оффлайн
Регистрация
22 Май 2020
Сообщения
1,444
Реакции[?]
1,092
Поинты[?]
10K
оно работает так , что я один раз нажал и оно бесконечно выполняется и по нажатию клавиши останавливается, но мне нужно, чтобы по нажатию клавиши оно выполнялось только 1 раз и прекращалось, возможно ли это??
Я код приложил того, что ты хочешь..
 
Everage C++ Enjoyer
Пользователь
Статус
Оффлайн
Регистрация
5 Янв 2018
Сообщения
162
Реакции[?]
50
Поинты[?]
3K
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
da

кстати, раз уж данная проблема не решается, то как в этом коде
Код:
if (GetKeyState(0x58))
        {

           
           
            keybd_event(0x51, 0, 0, 0);
            keybd_event(0x51, 0, KEYEVENTF_KEYUP, 0);
            mouse_event(MOUSEEVENTF_LEFTDOWN , 0, 0, 0, 0);
            mouse_event(MOUSEEVENTF_RIGHTDOWN , 0, 0, 0, 0);

           

            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
        }
сделать так чтобы действие выпонялось 1 раз а не зацикливалось, типо нажимаешь на кнопку 1 раз и действия не останавливалось, а мне надо чтобы 1 раз нажал и оно 1 раз выполнилось
Вместо GetKeyState, используй GetAsyncKeyState
 
vk.com/ahkcsgocheat
Пользователь
Статус
Оффлайн
Регистрация
21 Апр 2020
Сообщения
380
Реакции[?]
64
Поинты[?]
2K
Поставь autohotkey, если не знаешь, как на С нажимать клавиши.
 
league
Пользователь
Статус
Оффлайн
Регистрация
13 Авг 2021
Сообщения
312
Реакции[?]
120
Поинты[?]
2K
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2018
Сообщения
306
Реакции[?]
52
Поинты[?]
1K
Поставь autohotkey, если не знаешь, как на С нажимать клавиши.
я знаю как ставить клавиши на с++ с помощью винапи, но я никогда не видел чтобы они выполнялись одновременно, даже если не ставить между ними задержки они будут выполнятся последовательно
 
Легенда форума
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
4,381
Реакции[?]
2,284
Поинты[?]
189K
Вот код:
Код:
if (GetAsyncKeyState(0x58))
        {

           
           
            keybd_event(0x51, 0, 0, 0);
            keybd_event(0x51, 0, KEYEVENTF_KEYUP, 0);
            mouse_event(MOUSEEVENTF_LEFTDOWN , 0, 0, 0, 0);
            mouse_event(MOUSEEVENTF_RIGHTDOWN , 0, 0, 0, 0);

           

            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
        }
Мне нужно чтобы ЛКМ и ПКМ нажимались одновременно , а не последовательно (сейчас они нажимаются последовательно).
Попробуй сделай нажатие второй клавиши в другом потоке.
 
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2018
Сообщения
306
Реакции[?]
52
Поинты[?]
1K
Сверху Снизу