Ho un'app desktop DirectX a schermo intero e vorrei visualizzare la tastiera su schermo quando l'utente tocca una casella di testo nel mio gioco. C'è un modo per farlo mentre sei in modalità a schermo intero?Come richiamare la tastiera su schermo di Windows 8 in un'applicazione desktop
risposta
Esecuzione osk.exe farà apparire il più vecchio stile tastiera su schermo. La tastiera touch di Windows 8 si aprirà con l'esecuzione
C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe
Ho solo pensato che, dal momento che sto lavorando su un'applicazione desktop a tutto schermo che è in esecuzione su un tablet PC senza tastiera collegata.
Severin.
Se si tratta di un'applicazione desktop, potrebbe essere necessario richiamare ShellExecute
per osk.exe
.
Se si tratta di un'applicazione Metro, non è possibile richiamare il SIP dall'app stessa. Come per il MSDN docs:
Ciò significa che le applicazioni non possono invocare la programmazione tocco tastiera attraverso la manipolazione di messa a fuoco. Grandi colpevoli qui in passato hanno stati pagine web-molte delle quali messa a fuoco di default impostato in
Stessa risposta da Severin Stampler ma al fine di trovare il percorso corretto da C# che uso:
var path = Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles) + @"\Microsoft Shared\ink\TabTip.exe";
if (!File.Exists(path))
{
// older windows versions
path = Environment.GetFolderPath(Environment.SpecialFolder.System) + @"\osk.exe";
}
Quando si esegue un'applicazione a 32 bit, TabTip.exe non verrà trovato su un sistema a 64 bit. GetFolderPath ti darà la cartella "Programmi (x86)", il tabTip.exe in là è chiamato "TabTip32.exe" – Zuppa
È possibile visualizzare la tastiera touch di Windows 8 abbastanza facilmente:
http://brianlagunas.com/showing-windows-8-touch-keyboard-wpf/
C'è un modo per nascondere la tastiera? – ali