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

Вопрос Кликер на плюсах

  • Автор темы Автор темы Dmitrrr
  • Дата начала Дата начала
  • Теги Теги
    c++
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
9 Фев 2021
Сообщения
179
Реакции
93
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Делаю приложение для игры и столкнулся с такой проблемой, крупной. Дело в том что кликер на том же ahk написать не проблема я хочу написать что то на под обе такого:
Код:
Expand Collapse Copy
if(GetAsyncKeyState(VK_LBUTTON) & 0x8000){

mouse_event(MOUSEEVENTF_LBUTTONDOWN, 0,0,0,0);
mouse_event(MOUSEEVENTF_LBUTTONUP, 0,0,0,0);

}
Что бы оно кликало только когда я зажимаю левую кнопку мыши.

Я делал такой вариант:
Код:
Expand Collapse Copy
if(GetAsyncKeyState(VK_LBUTTON) & 0x8000){

PostMessage(hwnd, WM_LBUTTONDOWN, 0, 0);
PostMessage(hwnd, WM_LBUTTONUP, 0, 0);

}
Этот вариант идеален, но мне нужно что бы кликер работал именно в оконном режиме.
 
Делаю приложение для игры и столкнулся с такой проблемой, крупной. Дело в том что кликер на том же ahk написать не проблема я хочу написать что то на под обе такого:
Код:
Expand Collapse Copy
if(GetAsyncKeyState(VK_LBUTTON) & 0x8000){

mouse_event(MOUSEEVENTF_LBUTTONDOWN, 0,0,0,0);
mouse_event(MOUSEEVENTF_LBUTTONUP, 0,0,0,0);

}
Что бы оно кликало только когда я зажимаю левую кнопку мыши.

Я делал такой вариант:
Код:
Expand Collapse Copy
if(GetAsyncKeyState(VK_LBUTTON) & 0x8000){

PostMessage(hwnd, WM_LBUTTONDOWN, 0, 0);
PostMessage(hwnd, WM_LBUTTONUP, 0, 0);

}
Этот вариант идеален, но мне нужно что бы кликер работал именно в оконном режиме.


string window()
{
char wnd_title[128];
HWND menu = GetForegroundWindow();
GetWindowText(menu, wnd_title, sizeof(wnd_title));
return wnd_title;
}

Код:
Expand Collapse Copy
if (window() == XorStr("Имя окна"))
if(GetAsyncKeyState(VK_LBUTTON) & 0x8000) {

PostMessage(hwnd, WM_LBUTTONDOWN, 0, 0);
PostMessage(hwnd, WM_LBUTTONUP, 0, 0);

}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
string window()
{
char wnd_title[128];
HWND menu = GetForegroundWindow();
GetWindowText(menu, wnd_title, sizeof(wnd_title));
return wnd_title;
}

Код:
Expand Collapse Copy
if (window() == XorStr("Имя окна"))
if(GetAsyncKeyState(VK_LBUTTON) & 0x8000) {

PostMessage(hwnd, WM_LBUTTONDOWN, 0, 0);
PostMessage(hwnd, WM_LBUTTONUP, 0, 0);

}

PostMessage(Что сюда вставлять?, WM_LBUTTONDOWN, 0, 0);
PostMessage(Что сюда вставлять?, WM_LBUTTONUP, 0, 0);
 
Делаю приложение для игры и столкнулся с такой проблемой, крупной. Дело в том что кликер на том же ahk написать не проблема я хочу написать что то на под обе такого:
Код:
Expand Collapse Copy
if(GetAsyncKeyState(VK_LBUTTON) & 0x8000){

mouse_event(MOUSEEVENTF_LBUTTONDOWN, 0,0,0,0);
mouse_event(MOUSEEVENTF_LBUTTONUP, 0,0,0,0);

}
Что бы оно кликало только когда я зажимаю левую кнопку мыши.

Я делал такой вариант:
Код:
Expand Collapse Copy
if(GetAsyncKeyState(VK_LBUTTON) & 0x8000){

PostMessage(hwnd, WM_LBUTTONDOWN, 0, 0);
PostMessage(hwnd, WM_LBUTTONUP, 0, 0);

}
Этот вариант идеален, но мне нужно что бы кликер работал именно в оконном режиме.

Вот, ты не правильный виртуал кей указывал, VK_LBUTTON (0x01) проще говоря, работает на один клик, а MK_LBUTTON (0x0002) на то пока кнопка зажимается
C++:
Expand Collapse Copy
#include <iostream>
#include <Windows.h>

POINT cursorPos; // для дебага, можно вырезать

int y; // для дебага, можно вырезать
int x; // для дебага, можно вырезать

int main() {
    while (1) { // делаем цикл что-бы программа ждала указаний внутри его
        GetCursorPos(&cursorPos); // для дебага, можно вырезать
        x = cursorPos.x; // для дебага, можно вырезать
        y = cursorPos.y; // для дебага, можно вырезать
        while (GetAsyncKeyState(MK_LBUTTON)) { // Проверяем нажатие
            GetCursorPos(&cursorPos); // для дебага, можно вырезать
            mouse_event(MOUSEEVENTF_LEFTDOWN, NULL, NULL, 0, 0); // Нажимаем
            mouse_event(MOUSEEVENTF_LEFTUP, NULL, NULL, 0, 0); // Отжимаем
            std::cout << "x: " << x << std::endl; // для дебага, можно вырезать
            std::cout << "y: " << y << std::endl; // для дебага, можно вырезать
        }
    }
    return 0;
}
Не знаю что вы от них хотите, когда они выдают максимум 60 кпс
 
Назад
Сверху Снизу