Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

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

  • Автор темы Автор темы dota
  • Дата начала Дата начала
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2018
Сообщения
309
Реакции
52
Вот код:
Код:
Expand Collapse Copy
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);
        }

Мне нужно чтобы ЛКМ и ПКМ нажимались одновременно , а не последовательно (сейчас они нажимаются последовательно).
 
а блять ебаный рот насрали под дверь
шя
mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
вроде так
 
а блять ебаный рот насрали под дверь
шя
mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
вроде так
Код:
Expand Collapse Copy
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
все равно одновременно не нажимает
 
Код:
Expand Collapse Copy
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
все равно одновременно не нажимает
ну я хз тогда, мб функция такая ебаная
 
ну я хз тогда, мб функция такая ебаная
da
ну я хз тогда, мб функция такая ебаная
кстати, раз уж данная проблема не решается, то как в этом коде
Код:
Expand Collapse Copy
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 раз выполнилось
 
Последнее редактирование:
da

кстати, раз уж данная проблема не решается, то как в этом коде
Код:
Expand Collapse Copy
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++:
Expand Collapse Copy
static bool down;
if (GetKeyState(..) && !down)
{
    // ..
    down = true;
}
else
    down = false;
 
Approved
либо другие функции (не GKS), либо так:

C++:
Expand Collapse Copy
static bool down;
if (GetKeyState(..) && !down)
{
    // ..
    down = true;
}
else
    down = false;
оно работает так , что я один раз нажал и оно бесконечно выполняется и по нажатию клавиши останавливается, но мне нужно, чтобы по нажатию клавиши оно выполнялось только 1 раз и прекращалось, возможно ли это??
 
оно работает так , что я один раз нажал и оно бесконечно выполняется и по нажатию клавиши останавливается, но мне нужно, чтобы по нажатию клавиши оно выполнялось только 1 раз и прекращалось, возможно ли это??
Я код приложил того, что ты хочешь..
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
da

кстати, раз уж данная проблема не решается, то как в этом коде
Код:
Expand Collapse Copy
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
 
так ты сам в c++ сфере находишься не больше недели
1635744390911.png
1635744395681.png
к чему это было высмеивание? (если ты у нас "мега кодер" так помоги в чем проблема?)
 
Последнее редактирование:
Поставь autohotkey, если не знаешь, как на С нажимать клавиши.
я знаю как ставить клавиши на с++ с помощью винапи, но я никогда не видел чтобы они выполнялись одновременно, даже если не ставить между ними задержки они будут выполнятся последовательно
 
Вот код:
Код:
Expand Collapse Copy
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);
        }

Мне нужно чтобы ЛКМ и ПКМ нажимались одновременно , а не последовательно (сейчас они нажимаются последовательно).
Попробуй сделай нажатие второй клавиши в другом потоке.
 
Назад
Сверху Снизу