Ya entendí, tu quieres desactivarlo / activarlo con F4.
Código C++:
Ver original#include <windows.h>
#include <cstdlib>
#include <iostream>
using namespace std;
bool bEnabled = true;
DWORD WINAPI KeyboardManager(LPVOID lpvParam)
{
while (1)
{
if (GetAsyncKeyState(VK_F4))
bEnabled = !bEnabled;
Sleep(300);
}
return 0;
}
int main(int argc, char* argv[]) {
int delay = 0;
int positions = 0;
POINT cursorPos[256];
HANDLE hThread;
SetConsoleTitleA("Andromeda 0.1");
cout << "Bienvenido a Andromeda 0.1\n";
cout << "Tiempo que se tomara los clicks (en milisegundos): ";
cin >> delay;
cout << "1. Para agregar posicion presione F1\n";
cout << "2. Presione F3 para empezar\n";
for(;; Sleep(200)) {
if(GetAsyncKeyState(VK_F1)) {
GetCursorPos(&cursorPos[positions]);
cout << "Posicion actual " << positions + 1 << ": " << cursorPos[positions].x << ' ' << cursorPos[positions].y << '\n';
positions += 1;
}
if(GetAsyncKeyState(VK_F3)) {
if(positions == 0) {
GetCursorPos(&cursorPos[positions]);
positions = 1;
}
break;
}
}
cout << "Andromeda iniciado\n";
cout << "Presione F4 para activar/desactivar\n";
cout << "F5 para salir." << endl;
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)KeyboardManager, &hThread, 0, NULL);
int pos = 0;
for(;;Sleep(delay)) {
if (GetAsyncKeyState(VK_F5))
break;
if (bEnabled)
{
SetCursorPos(cursorPos[pos % positions].x, cursorPos[pos % positions].y);
mouse_event(MOUSEEVENTF_LEFTDOWN, cursorPos[pos % positions].x, cursorPos[pos % positions].y, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, cursorPos[pos % positions].x, cursorPos[pos % positions].y, 0, 0);
pos++;
}
}
CloseHandle(hThread);
cout << "Gracias por utilizar Andromeda 0.1\n";
Sleep(1000);
return 0;
}
Ahora se cierra con F5.