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
Visual Basic 6 - Intercettazione pressione Shift/CTRL + tasto
Forum - Visual Basic 6 - Intercettazione pressione Shift/CTRL + tasto

Avatar
dylan666 (Normal User)
Pro


Messaggi: 129
Iscritto: 08/09/2009

Segnala al moderatore
Postato alle 9:37
Martedì, 22/09/2009
Ho bisogno di intercettare la pressione di F12 e di Shift+F12 dando due esiti diversi.
Ho trovato questo codice:

Codice sorgente - presumibilmente VB.NET

  1. Sub Timer1_Timer()
  2.  
  3. If GetAsyncKeyState(vbKeyF12) = -32768 And GetAsyncKeyState(vbKeyShift) = -32768 Then
  4. MsgBox "Funzione mostra"
  5.  
  6.  
  7. ElseIf GetAsyncKeyState(vbKeyF12) = -32768 Then
  8. MsgBox "Funzione stampa"
  9.  
  10. End If
  11. End Sub



Non funziona, probabilmente anche perché ho dato al timer un intervallo troppo lento.
Che alte soluzioni sono possibili?
Spiegate chiaramente e con esempi che sono agli inizi, grazie :)

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 15:55
Martedì, 22/09/2009

PM Quote
Avatar
dylan666 (Normal User)
Pro


Messaggi: 129
Iscritto: 08/09/2009

Segnala al moderatore
Postato alle 19:28
Martedì, 22/09/2009
Ho letto l'articolo, utilizza sempre GetAsyncKeyState ma non pare mi risolva nulla.
Ha infatti difficoltà nell'intercettare due tasti premuti contemporaneamente.

Pare invece che abbia risolto così:

Codice sorgente - presumibilmente VB.NET

  1. Sub Timer1_Timer()
  2. If GetAsyncKeyState(vbKeyF12) And GetAsyncKeyState(vbKeyShift)Then
  3. MsgBox "Funzione mostra"
  4.  
  5.  
  6. ElseIf GetAsyncKeyState(vbKeyF12)Then
  7. MsgBox "Funzione stampa"
  8.  
  9. End If
  10. End Sub


Ultima modifica effettuata da dylan666 il 22/09/2009 alle 20:10
PM Quote