misc/c/Cursore.c
2018-08-05 18:53:07 +02:00

77 lines
1.4 KiB
C

#include <stdio.h>
#define _WIN32_WINNT 0x0403
#include <windows.h>
#define randomize() srand(time(NULL))
#define random(x) rand()%x - rand()%x
#define PREMUTO -32767 //SHRT_MIN 16 bit
void nascondi();
void click();
int main(){
POINT cursore, temp;
nascondi();
//Aspetta 10s
Sleep(10*1000);
GetCursorPos(&cursore);
//Aspetta che il cursore si muova
while(1){
GetCursorPos(&temp);
if(temp.x != cursore.x || temp.y != cursore.y)
break;
Sleep(10);
}
//Controlla il cursore
while(1){
//Sposta
randomize();
GetCursorPos(&cursore);
SetCursorPos(cursore.x+random(10), cursore.y+random(10));
//Click
if(!random(1000)){
click();
click();
}
//Ctrl+Alt+E per chiudere
if(GetAsyncKeyState(VK_CONTROL) && GetAsyncKeyState(VK_MENU)==PREMUTO && GetAsyncKeyState(69)==PREMUTO)
break;
Sleep(10);
}
}
/*
* Nasconde la finestra dell'applicazione
*/
void nascondi(){
HWND nascosta;
AllocConsole();
nascosta = FindWindowA("ConsoleWindowClass", NULL);
ShowWindow(nascosta, 0);
}
/*
* Simula la pressione e il rilascio del tasto sinisto
*/
void click(){
INPUT input = {0};
size_t dimensione = sizeof(INPUT);
//Pressione
input.type = INPUT_MOUSE;
input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
SendInput(1, &input, dimensione);
//Rilascio
ZeroMemory(&input, dimensione);
input.type = INPUT_MOUSE;
input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(1, &input, dimensione);
}