• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

key to mouse

TheHeller

Utente bannato
Autore del topic
13 Febbraio 2008
77
0
Miglior risposta
0
Ecco un programma che simula il comportamento del mouse con la tastiera.
Il motivo della creazione? Semplice, quando le batterie del mouse mi piantano in asso rosico troppo...

link al download: (source + exe): girex.altervista.org/varie/download/key2mouse.rar
[/code]
Codice:
/*
Key to Mouse v0.1
Simulazione del comportamento del mouse tramite tastiera.

Autore: __GiReX__
Linguaggio: C
Data: 8/01/12
Os: Windows
Homepage:
Perfavore, Entra oppure Registrati per vedere i Link!


Per muovere il cursore del mouse tenere premuto [space]
più le freccette direzionali del numpad (Bloc Num: on)

Mouse sx click: [space] + [ctrl]
Mouse dx click: [space] + [alt]


[space] + [F12] per terminare l'esecuzione del programma
*/

#include <windows>
#include <stdio>

POINT coord; /* struct contenente le coordinate xy del mouse */

void left_click();
void right_click();
void move_up();
void move_down();
void move_left();
void move_right();

void start_prog()
{
MessageBox(NULL, "Key to Mouse v0.1 avviato come demone.\n" /* start message */
"Il programma rimarrà in background.\n"
"Si consiglia di leggere il file istruzioni.txt",
"Key To Mouse v0.1 by __GiReX__",
MB_OK);

HWND invisibile = FindWindow("ConsoleWindowClass", NULL); /* nascondo la finestra */
ShowWindow(invisibile, SW_HIDE);

}

int main()
{
start_prog();

while(!(GetKeyState(VK_SPACE) < 0 && GetAsyncKeyState(VK_F12) < 0))
{

if(GetKeyState(VK_SPACE) < 0)
{
if(GetKeyState(VK_CONTROL) < 0) left_click();
if(GetKeyState(VK_MENU) < 0) right_click();
if(GetKeyState(VK_NUMPAD8) < 0) move_up();
if(GetKeyState(VK_NUMPAD2) < 0) move_down();
if(GetKeyState(VK_NUMPAD6) < 0) move_right();
if(GetKeyState(VK_NUMPAD4) < 0) move_left();
}
Sleep(20);
}

return 0;
}

void left_click()
{
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
while(GetKeyState(VK_CONTROL) <0> sposto */
SetCursorPos(coord.x, coord.y - 5);
}

void move_down()
{
GetCursorPos(&coord);
SetCursorPos(coord.x, coord.y + 5);
}

void move_right()
{
GetCursorPos(&coord);
SetCursorPos(coord.x + 5, coord.y);
}

void move_left()
{
GetCursorPos(&coord);
SetCursorPos(coord.x - 5, coord.y);
}
 
Ultima modifica da un moderatore: