2012-08-08 4 views

risposta

17

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.

+0

Cercavo un modo migliore per farlo, ma questo sembra essere l'unico metodo ragionevole che funziona davvero. – IDWMaster

+0

Ah come amo Windows. Ma almeno questo funziona! – chowey

+0

E come lo nascondi? – ali

1

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

3

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"; 
} 
+0

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