• 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!

Problema risolto Riconoscere Pressione su tastiera [VB.NET]

Invisible

Utente Attivo
Autore del topic
4 Maggio 2008
437
0
Miglior risposta
0
Come dal titolo vorrei sapere come far riconoscere al form quando sulla tastiera viene pressato un tasto. (Es. premo F1).
Ho cercato in internet ma non ho trovato nulla di buono, sapete magari anche spiegarmi come funziona il codice? Grazie anticipatamente.
 
Riferimento: Riconoscere Pressione su tastiera [VB.NET]

Utilizza il getasynckeystate ( cerca su google )
 
Riferimento: Riconoscere Pressione su tastiera [VB.NET]

In testa all' inizio della classe:

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

In un timer con intervallo 100 ms:

If GetAsyncKeyState(Keys.Enter) Then
msgbox("Hai premuto Enter")
end if


Che c' è di più semplice ;)


PS:
Puoi anche utilizzare un do-loop se esegui il codice in un thread differente...
 
Ultima modifica:
Riferimento: Riconoscere Pressione su tastiera [VB.NET]

Ringrazio entrambi ho risolto! :emoji_slight_smile:
 
Riferimento: Riconoscere Pressione su tastiera [VB.NET]

Perché usate subito le API.
Negli eventi del Form c'è KeyDown che fa la stessa cosa.
 
Riferimento: Riconoscere Pressione su tastiera [VB.NET]

@Jollyman
Perchè utilizzando il metodo che dici tu il programma intercetta la pressione dei tasti solamente se il form è aperto e se il focus è sul form, mentre con il getasynckeystate è possibile intercettare la pressione dei tasti anche se non vi è il focus sul form.
 
Riferimento: Riconoscere Pressione su tastiera [VB.NET]

Dipende da cosa vuole fare l'utente.