Так что я только начинаю заниматься кодированием на C ++ и, немного освоившись, я начал программировать с помощью автоматического кликера.Я уже сделал это, чтобы вы могли переключать автоматический кликер, используя кнопку на клавиатуре или что-то в этом роде, но это не то, что я ищу.
Проблема, с которой я столкнулся, заключается в том, что я не могу найти способ проверить, нажата ли левая кнопка мыши.Если он удерживается, продолжайте нажимать, пока левая кнопка мыши больше не будет удерживаться.
Кроме того, я много осматривался, чтобы понять, как это сделать, и получил несколько разных вещей, которые я должен сделать, но ни одна из них не работает.Мне сказали использовать:
if((GetKeyState(VK_LBUTTON) & 0x100) != 0)
из этого ответа здесь , но я также обнаружил, что людям сказали использовать:
if(GetKeyState(VK_LBUTTON) & 0x8000
К сожалению, я могу 'Не могу найти, где я нашел это в своей истории.
Я пытался получить состояние ключа WM_LBUTTONDOWN , но, похоже, не поднимает кнопку мышипри нажатии.
Я могу заставить его работать, проверив состояние клавиши VK_LBUTTON , но это только проверяет, нажата ли левая кнопка мыши, а неРучной.Так что он просто непрерывно щелкает до тех пор, пока вы не прервете цикл while или не закроете программу.
На самом деле не стоит это опускать, но я в 12 часов утра, подумал, что проверял, была ли нажата левая кнопка(как и предыдущий), он установит логическое значение в true и продолжит нажимать.Но после этого я не мог заставить его остановиться, как раньше.Теперь, оглядываясь на код, я понимаю, почему он не работает.
while (1) {
if(GetKeyState(WM_LBUTTONDOWN)) {
Sleep(delay);
mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
std::cout << "Clicked" << endl;
}
if (GetKeyState(VK_ESCAPE)) {
break;
}
}
Как я уже говорил, я попробовал все разные комбинации, чтобы попытаться заставить это работать.Но я не вижу, удерживается ли левая кнопка мыши.Я надеюсь, что у кого-то есть ответ, и он может помочь мне и другим людям.В любом случае, спасибо и хорошего дня.