Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Rilevare la pressione di un tasto
venerdì 18 agosto 2006 - 12.39
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
forno
Profilo
| Junior Member
71
messaggi | Data Invio:
ven 18 ago 2006 - 12:39
Ciao a tutti, sono di nuovo in difficoltà.
Ho creato un'applicazione con un form che, quando viene ridotto a icona, si trasferisce sulla System Tray dove appare una NotifyIcon.
Vorrei sapere come posso fare per rilevare la pressione di un tasto quando il form non è visibile ed appare solo l'icona vicina all'orologio.
Grazie
Enrico Fornasier
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
sab 19 ago 2006 - 16:35
Se capisco bene, il tuo form è una semplice icona e il focus può essere su qualunque altra finestra attiva, quindi non hai modo di rilevare la pressione di un tasto mediante gli eventi del form, ma piuttosto devi rivolgerti a funzioni di sistema. In particolare devi usare una API che intercetti la tastiera e la notifichi alla tua applicazione. La questione dell'intercettazione dei tasti è un argomento controverso, anche per le possibili applicazioni 'malevole' che possono nascere dall'uso di una funzione di 'keylogging' e pertanto non si trovano facilmente notizie sull'argomento. In bocca al lupo!
forno
Profilo
| Junior Member
71
messaggi | Data Invio:
dom 20 ago 2006 - 13:44
Ho risolto con:
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Short
Ora devo solo capire il valore numerio del tasto stamp ed è fatta! Grazie mille per l'aiuto!
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
lun 21 ago 2006 - 19:04
Grazie per i ringraziamenti!
Ho dato un'occhiata a ciò che hai scovato. Per curiosità, devi effettuare un test in polling, con un timer, oppure con quella API riesci a far scatenare un evento che intercetti (così a occhio mi sembra la prima ipotesi)?
forno
Profilo
| Junior Member
71
messaggi | Data Invio:
lun 28 ago 2006 - 14:06
Io l'ho messo sotto un timer, credo sia il sistema migliore, poi gli altri metodi non li conosco.
Inoltre ho scoperto un'altra piccola cosa:
sostituendo
ByVal vKey As Long
con
ByVal vKey as Key
è molto più facile da usare perché VB riconosce la vKey come un tasto e non come un numero e ti aiuta mostrandoti l'elenco dei tasti di una tastiera
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
lun 28 ago 2006 - 14:39
Ok...in bocca al lupo e buon lavoro, allora!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !