2012-08-08 13 views

Odpowiedz

17

Wykonywanie osk.exe pojawi się bardziej staromodny klawiatury ekranowej. Windows 8 klawiatura dotykowa pojawi się wykonując

C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe 

Właśnie zorientowali, że obecnie, odkąd pracuję na pełnym ekranie aplikacji na pulpicie, który jest uruchomiony na komputerze typu Tablet bez klawiatury załączeniu.

Severin.

+0

Szukałem lepszego sposobu na zrobienie tego, ale wydaje się, że jest to jedyna rozsądna metoda, która faktycznie działa. – IDWMaster

+0

Ach, jak kocham Windows. Ale przynajmniej to działa! – chowey

+0

A jak to ukrywasz? – ali

1

Jeśli jest to aplikacja komputerowa, może być konieczne wywołanie ShellExecute dla osk.exe.

Jeśli jest to aplikacja Metro, nie można wywołać SIP z samej aplikacji. Jak na MSDN docs:

Oznacza to, że aplikacje nie mogą programowo wywołać dotykowy klawiaturę poprzez manipulację ostrości. Wielkie winowajcami tu w przeszłości mają były strony internetowe, wielu z nich ustawić ostrość domyślnie

3

samą odpowiedź jak Severin Stampler jednak, aby wybrać właściwą ścieżkę od C# używać:

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

Podczas korzystania z aplikacji 32-bitowej plik TabTip.exe nie zostanie znaleziony w systemie 64-bitowym. GetFolderPath da ci folder "Program Files (x86)", tabTip.exe w tam nazywa się "TabTip32.exe" – Zuppa

Powiązane problemy