Él lo que quiere hacer, si no entendí mal, y esto.
Código C:
Ver original#include <windows.h>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
int delay = 0;
int positions = 0;
POINT cursorPos[256];
SetConsoleTitleA("Andromeda 0.1");
cout << "Bienvenido a Andromeda 0.1\n";
cout << "Tiempo que se tomara los clicks (en milisegundos): ";
cin >> delay;
de_nuevo:
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 detener\n";
int pos = 0;
for(;;Sleep(delay)) {
if(GetAsyncKeyState(VK_F4))
goto de_nuevo;
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++;
}
cout << "Gracias por utilizar Andromeda 0.1\n";
Sleep(10000);
return 0;
}
Disculpen ese goto ahí, se puede hacer mejor. Solo como ejemplo a ver si es lo que te apetece lograr.