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
Nascondere finestra tastiera su video
giovedì 19 febbraio 2009 - 16.31
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Leopardo
Profilo
| Newbie
25
messaggi | Data Invio:
gio 19 feb 2009 - 16:31
ciao ragazzi avrei bisogno di una mano (e quando mai dite voi)
sto facendo un'applicazione che andrà su touch screen per evitare di dovermi fare/gestire la tastiera pensavo di usare la tastiera su video che c'era già in winxp.
il problema è questo..io la avvierei nel load del programma se non sbaglio andando a richiamare %SystemRoot%\system32\osk.exe (preso dal collegamento)
il problema sta nel dire "quando prendi il focus allora fammi vedere quella finestra" , "quando perdi il focus nascondi la tastiera"... sapete come si può fare una cosa così?
Grazie infinite :)
R3GM4ST3R
Profilo
| Junior Member
196
messaggi | Data Invio:
gio 19 feb 2009 - 20:33
Ciao!
Io ho realizzato una cosa simile, ed ho optato per mettere un form piccolo sempre in primo piano in basso a destra, con un bottone che apre la tastiera di windows, se la tastiera di windows è già in esecuzione, la killo e la faccio ripartire, in modo che si avvi di nuovo in primo piano.
Non è un metodo molto ortodosso, ma funziona egregiamente.
Dim ps() As Process = Process.GetProcesses()
Dim p As Process
For Each p In ps
if p.ProcessName="osk.exe" then
'Non so se il processname della tastiera sia osk.exe, vado a memoria, il sorgente l'ho in ufficio, cmq il concetto c'è
p.kill()
end if
Next
shell("osk.exe")
Così non intercetti il focus sulla textbox ma lasci all'utente la possibilità di aprire la tastiera quando vuole.
(nel mio caso l'applicativo era una pagina web che gira in un browser, quindi non potevo recuperare il focus sulle textbox direttamente dal browser)
Se invece vuoi farla comparire al focus di una casella di testo di una tua applicazione, potresti intercettare il focus della textbox su cui vuoi far visualizzare la tastiera e sfrutti il codice quì sopra...
A meno che la classe process di .Net non esponga metodi per visualizzare/nascondere applicazioni che stanno girando per i fatti loro, ma non credo esistano...
(a meno di usare chiamate a librerie di sistema...)
Ciao!
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (Albert Einstein)
Leopardo
Profilo
| Newbie
25
messaggi | Data Invio:
ven 20 feb 2009 - 09:26
grazie mille provo subito!
Ti faccio sapere!
ciao
Leopardo
Profilo
| Newbie
25
messaggi | Data Invio:
lun 23 feb 2009 - 10:59
funziona!
Però ecco devo chiedere ancora una cosetta..
in pratica la situazione è questa:
1 form sempre aperto con lo sfondo (serve per non far vedere il desktop quando il form dinamico si sta caricando "prima dello show")
1 form che si crea dinamicamente (sempre on top)
il fatto è che quando chiamo il tastierino la prima volta me lo visualizza sopra il form caricato dinamicamente mentre se questo form viene ricaricato, la finestra della tastiera scompare sotto e anche se la richiamo rimane lì..
Quindi come posso intercettare la finestra del tastierino e dirgli.. "vai su"?
Grazie infinite
Leopardo
Profilo
| Newbie
25
messaggi | Data Invio:
ven 27 feb 2009 - 17:01
Ci sono riusciuto!
Grazie infinite a tutti
R3GM4ST3R
Profilo
| Junior Member
196
messaggi | Data Invio:
mar 3 mar 2009 - 18:28
Son contento che hai risolto!
Scusa se non ho risposto, ma non ho avuto molto tempo in questi giorni.
Ciao!
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (Albert Einstein)
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 !