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 - Associare suoni alla tastiera
Forum - C# / VB.NET - Associare suoni alla tastiera

Avatar
Arcadia (Normal User)
Rookie


Messaggi: 21
Iscritto: 16/07/2007

Segnala al moderatore
Postato alle 17:46
Lunedì, 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:rotfl:

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:57
Martedì, 17/07/2007
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ù.

PM Quote
Avatar
Arcadia (Normal User)
Rookie


Messaggi: 21
Iscritto: 16/07/2007

Segnala al moderatore
Postato alle 8:20
Mercoledì, 18/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:d

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:07
Giovedì, 19/07/2007
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

  1. 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

  1. Private Sub Timer1_Tick() Handles Timer1.Tick
  2.   For Each I As Int32 In Windows.Forms.Keys
  3.     If GetAsyncKeyState(I) = -32767
  4.       'esegue il suono
  5.     End If
  6.   Next
  7. End Sub


PM Quote
Avatar
Arcadia (Normal User)
Rookie


Messaggi: 21
Iscritto: 16/07/2007

Segnala al moderatore
Postato alle 13:36
Giovedì, 19/07/2007
grassie mille
;)

PM Quote