Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [Vb.net] Intercettare click del mouse
Forum - C# / VB.NET - [Vb.net] Intercettare click del mouse

Avatar
-jacopo- (Normal User)
Rookie


Messaggi: 28
Iscritto: 29/01/2008

Segnala al moderatore
Postato alle 20:09
Venerdì, 07/03/2008
Ciao!
Per intercettare un tasto della tastiera sono riuscito dichiarando
Codice sorgente - presumibilmente VB.NET

  1. Declare Auto Function GetAsyncKeyState Lib "user32.dll" (ByVal _
  2.    vKey As Int32) As Int16



e inserendo in un timer
Codice sorgente - presumibilmente Delphi

  1. If GetAsyncKeyState(Keys.A) = -32767 Then
  2.             MsgBox("A e' premuto!", MsgBoxStyle.Information)
  3.        End If



Ma se volessi fare la stessa cosa col click destro del mouse come devo fare??

E' parecchio che cerco su internet ma non sono riuscito a trovare nulla....
Grazie, Jacopo

Ultima modifica effettuata da -jacopo- il 07/03/2008 alle 20:10
PM Quote
Avatar
John (Ex-Member)
Pro


Messaggi: 191
Iscritto: 18/11/2007

Segnala al moderatore
Postato alle 21:18
Venerdì, 07/03/2008
guarda qui:
http://totem.altervista.org/appunti/view.php?id=3

trovi appunti su come intercettare eventi sia della tastiera che del mouse.
se non capisci chedi pure!!:k:

PM Quote
Avatar
-jacopo- (Normal User)
Rookie


Messaggi: 28
Iscritto: 29/01/2008

Segnala al moderatore
Postato alle 12:02
Sabato, 08/03/2008
grazie della risposta!
Purtroppo nella guida che mi hai postato (che già conoscevo!) è spiegato come simulare mouse e tastiera e come intercettare tastiera, ma non intercettare mouse...

PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 16:14
Sabato, 08/03/2008
Ciao, non so se è quello che interessa a te, comunque il lo posto...
Codice sorgente - presumibilmente VB.NET

  1. Declare Auto Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Int32) As Int16
  2.     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  3.         If GetAsyncKeyState(Keys.LButton) <> 0 Then
  4.             MessageBox.Show("Ciao mondo")
  5.             End
  6.         End If
  7.         If GetAsyncKeyState(Keys.RButton) <> 0 Then
  8.             MessageBox.Show("Ciao")
  9.         End If
  10.         If GetAsyncKeyState(Keys.MButton) <> 0 Then
  11.             MessageBox.Show("Ciao ciao")
  12.         End If
  13.     End Sub


Boh forse è una grandizzima *bip*
P.S. se fai copia e incolla del codice sopra postato, aggiungi del codice per far chiudere le finestre in un modo, perchè ogni tasto che premi apre una finestra :rotfl::rotfl::k:

PM Quote
Avatar
Dark_Limit (Ex-Member)
Expert


Messaggi: 220
Iscritto: 15/01/2008

Segnala al moderatore
Postato alle 16:40
Sabato, 08/03/2008
Ciao..devi intercettare l'evento che porta al click (evento _Click)su msdn o su google troverai sicuramente qualcosa..:k:

Ultima modifica effettuata da Dark_Limit il 08/03/2008 alle 16:48
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 16:55
Sabato, 08/03/2008
Testo quotato

Postato originariamente da -jacopo-:

Ciao!
Per intercettare un tasto della tastiera sono riuscito dichiarando
Codice sorgente - presumibilmente VB.NET

  1. Declare Auto Function GetAsyncKeyState Lib "user32.dll" (ByVal _
  2.    vKey As Int32) As Int16



e inserendo in un timer
Codice sorgente - presumibilmente Delphi

  1. If GetAsyncKeyState(Keys.A) = -32767 Then
  2.             MsgBox("A e' premuto!", MsgBoxStyle.Information)
  3.        End If



Ma se volessi fare la stessa cosa col click destro del mouse come devo fare??

E' parecchio che cerco su internet ma non sono riuscito a trovare nulla....
Grazie, Jacopo



Scusa ma perchè non ci hai pensato un secondo in più? Se Keys.A intercetta la pressione di A, Keys.LButton intercetta la pressione di Left Button, ossia del pulsante sinistro. Mi sembra abbastanza logico.

@ Dark_limit : l'evento Click può essere intercettato solo all'interno dell'applicazione e dovresti scrivere un codice per ogni controllo. Il metodo basato sull'API di windows funziona sempre e basta un timer.

Ultima modifica effettuata da Il Totem il 08/03/2008 alle 16:57
PM Quote
Avatar
-jacopo- (Normal User)
Rookie


Messaggi: 28
Iscritto: 29/01/2008

Segnala al moderatore
Postato alle 19:02
Sabato, 08/03/2008
grazie mille delle risposte ragazzi!

Non avevo pensato a keys.Lbutton perchè credevo che keys andasse bene solo per i tasti della tastiera..
grazie ancora, ciao!

PM Quote