Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Problema simulazione pressione tasto tastiera
Forum - C# / VB.NET - [VB.NET] Problema simulazione pressione tasto tastiera

Avatar
Molin Mauro (Member)
Rookie


Messaggi: 47
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 15:45
Domenica, 16/01/2011
Ciao a tutti e buon anno!
Premetto che ho trovato la guida del mitico Totem (http://totemslair.org/appunti/viewtutorial.php?id=3 ) però ho un problema. Quando scrivo as esempio:
Codice sorgente - presumibilmente Plain Text

  1. keybd_event(65, 0, 0, 0)


Il tasto "a" si preme e se provo a controllare se tramite GetAsyncKeyState risulta sempre premuto ma su, ad esempio, Notepad scrive solo una "a".... :(
Ho provato a cambiare un po' quei valori ma non sapendo cosa significhino....
In pratica vorrei, ad esempio, che il tasto rimanesse premuto per tipo 1sec ma non riesco...
Spero di essermi spiegato bene...

Grazie anticipatamente dell'aiuto,
Mauro.

Ultima modifica effettuata da Molin Mauro il 16/01/2011 alle 17:58


PM
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 15:15
Lunedì, 17/01/2011
Guarda questa guida:
http://www.pierotofy.it/pages/guide_tutorials/Visual_Basic ...
spiega il keybd_event( )
il primo parametro come già sai è il valore del tasto, mentre il secondo è quello che indica l'azione da compiere sul tasto come "premuto", "rilasciato" o "entrambi"


Il software è come il sesso, è meglio quando è libero.
Linus Torvalds, Conferenza della Free Software Foundation, 1996 (attribuito)

Non provare mai a spiegare il computer a un profano. È più facile spiegare il sesso a una vergine.
Robert Anson Heinle
PM
Avatar
Molin Mauro (Member)
Rookie


Messaggi: 47
Iscritto: 26/06/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 15:28
Lunedì, 17/01/2011
Testo quotato

Postato originariamente da walker93:

Guarda questa guida:
http://www.pierotofy.it/pages/guide_tutorials/Visual_Basic ...
spiega il keybd_event( )
il primo parametro come già sai è il valore del tasto, mentre il secondo è quello che indica l'azione da compiere sul tasto come "premuto", "rilasciato" o "entrambi"



Ciao. Innanzitutto grazie per la risposta.
Forse non mi sono spiegato del tutto bene. Il tasto effettivamente risulta premuto ma su un qualsiasi campo di testo scrive una sola volta la lettera, quando se si preme in maniera prolungata un tasto normalmente, esso si ripete più volte.
Spero, questa volta, di essermi spiegato....Sono sicurissimo che è più facile a farsi che a dirsi...

;)


PM
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 15:36
Lunedì, 17/01/2011
Prova a dire anche che il tasto è stato rilasciato dopo un po.
Codice sorgente - presumibilmente Plain Text

  1. keybd_event(65, 0, 0, 0)
  2. threading.thread.sleep(1000) 'un secondo
  3. keybd_event(65, 0, KEYEVENTF_KEYUP, 0)


Se cosi non funziona non so come fare...


Il software è come il sesso, è meglio quando è libero.
Linus Torvalds, Conferenza della Free Software Foundation, 1996 (attribuito)

Non provare mai a spiegare il computer a un profano. È più facile spiegare il sesso a una vergine.
Robert Anson Heinle
PM
Avatar
Molin Mauro (Member)
Rookie


Messaggi: 47
Iscritto: 26/06/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 15:48
Lunedì, 17/01/2011
Testo quotato

Postato originariamente da walker93:

Prova a dire anche che il tasto è stato rilasciato dopo un po.
Codice sorgente - presumibilmente Plain Text

  1. keybd_event(65, 0, 0, 0)
  2. threading.thread.sleep(1000) 'un secondo
  3. keybd_event(65, 0, KEYEVENTF_KEYUP, 0)


Se cosi non funziona non so come fare...



No, neanche bloccando il thread funziona :( vabbè...Grazie comunque delle risposte.


PM