Arcadia (Normal User)
Rookie
Messaggi: 21
Iscritto: 16/07/2007
|
Carissimi, il mio problema è questo: ho realizzato un editor di testi e mi piacerebbe associare un suono di sistema alla pressione dei tasti della tastiera (lo stesso per tutti),simulando così il suono di una macchina per scrivere . Purtroppo non conosco la funzione Keypress . Magari datemi un imput! Grassssie
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Puoi usare una funziona importata dalle API di Windows. Mi sto riferendo a GetAsyncKeyState(ByVal vKey As System.Windows.Forms.Keys) As Int16. Se il pulsante corrispondente all'enumeratore passato come parametro è premuto, restituisce -32767. Consulta questa pagina:
http://www.pinvoke.net/wikiedit.aspx?topic=user32.Keyboard ...
Per saperne di più.
|
|
Arcadia (Normal User)
Rookie
Messaggi: 21
Iscritto: 16/07/2007
|
Grazie Totem, ho provato ad importare la user32.dll , a dichiararla come riportato nella pagina da te consigliata ( Declare Function KeyboardKey Lib "user32.dll" () (ByVal TODO) As TODO ) , però non avendo mai usato quella funzione, sbaglio qualcosa e mi restituisce un errore . Grazie per l'aiuto
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
TODO significa che la parte di codice che avrebbe dovuto esserci deve ancora essere scritta, quindi non puoi scrivere TODO. Probabilmente era sbagliato il link...
Codice sorgente - presumibilmente VB.NET |
Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Windows.Forms.Keys) As Int16
|
Puoi impostare un timer che controlli ad ogni tick, per ogni lettera o numero della tastiera se è premuto, e se sì, esegua il suono:
Codice sorgente - presumibilmente VB.NET |
Private Sub Timer1_Tick() Handles Timer1.Tick For Each I As Int32 In Windows.Forms.Keys If GetAsyncKeyState(I) = -32767 'esegue il suono End If Next End Sub
|
|
|
Arcadia (Normal User)
Rookie
Messaggi: 21
Iscritto: 16/07/2007
|
grassie mille
|
|