Come Emulare Un Mouse

Sommario:

Come Emulare Un Mouse
Come Emulare Un Mouse
Anonim

Un manipolatore del tipo "mouse" è un attributo necessario di qualsiasi computer. Senza di essa, è impossibile immaginare il controllo o la navigazione attraverso le applicazioni. Questo manipolatore interagisce attivamente con l'utente visualizzando le sue azioni (movimenti, clic, scorrimento) sullo schermo. Per alcune attività di programmazione, potrebbe essere necessaria l'emulazione software del mouse.

Come emulare un mouse
Come emulare un mouse

È necessario

Ambiente di sviluppo Microsoft Visual C++. Net (non inferiore al 2003)

Istruzioni

Passo 1

Installa Microsoft Visual C ++. Net (2003 o successivo). Esistono diverse versioni di questo ambiente di sviluppo, a pagamento e gratuite. Possono essere scaricati dal sito Web dello sviluppatore. Dopo l'installazione, creare un nuovo progetto e connettere System. Windows. Forms e System. Drawing come mostrato di seguito: using System. Windows. Forms; utilizzando System. Drawing;

Passo 2

Per spostare il mouse sullo schermo nei sistemi operativi Windows, utilizzare le funzioni che impostano direttamente la posizione del cursore sullo schermo. Utilizzare ad esempio il seguente codice: Cursor. Position = new Point (x, y); Questa riga sposterà il cursore nella posizione specificata nel costruttore della classe Point (x, y) (dove x e y sono le coordinate della posizione in cui deve essere posizionato il cursore) … Se è necessario impostare ripetutamente la posizione del cursore, creare un'istanza della classe Point e utilizzare il metodo per modificarne le coordinate. Questo salverà la memoria: Punto punto = nuovo Punto (0, 0); Cursor. Position = point. Offset (20, 100); Posizione. Cursore = punto. Offset (40, -20); Questo codice crea un oggetto di classe Point() con coordinate 0, 0. La seconda riga sposta il Punto di 20 pixel in X e 100 pixel in Y. La coordinata corrente a cui punta l'oggetto punto è 20, 100. La terza riga accade di nuovo Offset Point per il numero specificato di pixel (40 e -20, rispettivamente). La coordinata corrente è 60 (20 + 40) in X e 80 (100-20) in Y.

Passaggio 3

Utilizzare le funzioni Win32 SendInput () o mouse_event () per emulare un clic del mouse. Ad esempio, per simulare a livello di codice un clic con il tasto destro, utilizzare il codice seguente: // import mouse_event(): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // per facilità d'uso, crea un'enumerazione con le costanti necessarie (flag) // che definiscono le azioni del mouse: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absolute = 0x8000 }; // usa - fai clic sulle coordinate impostate di seguito: const int x = 39000; // coordinate di Xconst int y = 12000; // coordinate di Ymouse_event (MouseFlags. Absolute | MouseFlags. Move, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. Absolute | MouseFlags. RightDown, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. Absolute | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);

Passaggio 4

Emula un clic del mouse inviando messaggi WM_LBUTTONDOWN e WM_LBUTTONUP utilizzando la funzione SendMessage() dell'API Win. Ad esempio, come mostrato di seguito: void OnBtPerformClick (mittente oggetto, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBUTTONUP,}

Consigliato: