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
Disattivare Tasti da Tastiera virtuale
mercoledì 01 luglio 2009 - 15.45
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Leopardo
Profilo
| Newbie
25
messaggi | Data Invio:
mer 1 lug 2009 - 15:45
Ciao a tutti,
Non trovando soluzione per disattivare alcuni tasti da osk.exe e dato che nell'evento KeyDown riesco ad intercettare il tasto che sto pigiando (sempre da osk la tastiera virtuale di win) mi chiedevo se riuscivo a disattivare l'evento che questo scatena.
In pratica ho fatto un programma su touch screen e per la tastiera userei quella di windows. NOn devo dare la possibilità di premere gli F, i tasti WIN, ecc ecc per questioni di sicurezza (l'utente deve rimanere sul programma E BASTA).
Sapreste aiutarmi? o se magari conoscete una tastiera virtuale decente che non abbia questi tasti..oppure ancora (a mali estremi...) la faccio io però come posso fare dato che la form mi prende il focus e quidni il carattere che mando con sendkeys.send([tasto]) non mi va dove voglio io?
Vb.Net 2008 Windows XP professional
Grazie infinite...
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
mer 1 lug 2009 - 17:16
Ciao Daniele.
Premetto che non ho mai lavorato con le tastiere virtuali .... però ti posso dire che, se riesci ad intercettare l'evento KeyPress .... quello è l'evento che ti permette di annullare l'invio del tasto a Windows.
Facci sapere...
Ciao
Leopardo
Profilo
| Newbie
25
messaggi | Data Invio:
gio 2 lug 2009 - 12:14
dunque..
Facendo stamattina sono inceppato un un forum dove ho trovato questo codice..
(Alcune cose le ho adattate al mio programma)
Public Const KEYEVENTF_EXTENDEDKEY As Long = &H1
Public Const KEYEVENTF_KEYUP As Long = &H2
Public Const VK_LWIN As Byte = &H5B
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
(e nell'evento keydown)
If e.KeyCode = Keys.LWin Or e.KeyCode = Keys.RWin Then keybd_event(Keys.Zoom, 0, KEYEVENTF_EXTENDEDKEY, 0)
If e.KeyCode = Keys.F1 Or e.KeyCode = Keys.F2 Then keybd_event(Keys.Zoom, 0, KEYEVENTF_EXTENDEDKEY, 0)
If e.KeyCode = Keys.F3 Or e.KeyCode = Keys.F4 Then keybd_event(Keys.Zoom, 0, KEYEVENTF_EXTENDEDKEY, 0)
If e.KeyCode = Keys.F5 Or e.KeyCode = Keys.F6 Then keybd_event(Keys.Zoom, 0, KEYEVENTF_EXTENDEDKEY, 0)
If e.KeyCode = Keys.F7 Or e.KeyCode = Keys.F8 Then keybd_event(Keys.Zoom, 0, KEYEVENTF_EXTENDEDKEY, 0)
If e.KeyCode = Keys.F9 Or e.KeyCode = Keys.F10 Then keybd_event(Keys.Zoom, 0, KEYEVENTF_EXTENDEDKEY, 0)
If e.KeyCode = Keys.F11 Or e.KeyCode = Keys.F12 Then keybd_event(Keys.Zoom, 0, KEYEVENTF_EXTENDEDKEY, 0)
If e.KeyCode = Keys.Control Or e.KeyCode = Keys.Alt Then keybd_event(Keys.Zoom, 0, KEYEVENTF_EXTENDEDKEY, 0)
If e.KeyCode = Keys.Apps Then keybd_event(Keys.Zoom, 0, KEYEVENTF_EXTENDEDKEY, 0)
--- Bha sembra andare..l'unica cosa è l'oggetto webbrowser che non gestisce l'evento keydown ma il PreviewKeyDown...
Ho provato ad usare lo stesso codice ma non mi cambia niente sente ancora il tasto WIN (ad esempio)...
qualche idea? grazie ancora
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
ven 3 lug 2009 - 00:21
Ciao Daniele.
Hai provato a verificare se è possibile gestire l'evento KeyPress??
Altrimenti ... non ho nessuna idea in merito ... mi spiace.
Facci spere...
Ciao
Leopardo
Profilo
| Newbie
25
messaggi | Data Invio:
ven 3 lug 2009 - 08:53
ciao Jeremy,
grazie per le risposte.. Sì ho provato a vedere per l'evento keypress solo che i tasti "speciali" non lo fanno scatenare..
Riproverò ma ho proprio paura di no..
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 !