2016-05-16 16 views
6

Sanal klavyeye ihtiyacı olan bir uygulama var. Ancak, bazı TextBox es'leri tıklattığımda, sanal klavye görünmez.Sanal tablet klavyesini açmak için win10 nasıl zorlanır?

System.Diagnostics.Process.Start("osk.exe"); 

Ama bu TextBox hiçbir odağı sonra kapanmıyor başka klavyeyi, bir tane açılır: Bu kullanarak çalıştılar. Sanal tablet klavyesini açmak için win10'u nasıl zorlayabilirim?

Kendimi açık yapmak için:
Bu bir win10 dokunmatik ekran PC üzerinde çalışıyor. Tablet modunu etkinleştirdiğimde sanal klavye bazı TextBox es'lerde görünür ve başkalarında görünmez. Bu yüzden neden göstermek için klavyeyi zorlamak istiyorum.

DÜZENLEME: ancak InputPane sınıfını kullanarak bunu yapmak istiyoruz, "sanal tablet klavye" göstermek için bir yol bulmuş beri var. Birisi bana sadece başlamak için örnek bir kod verebilir miyim?

Kod InputPane sınıfını kullanarak olmadan açmak için:

System.Diagnostics.Process.Start("TabTip.exe"); 
+0

Neden zorlamak istiyorsunuz? Masaüstü platformda bu kötü bir uygulamadır, bu yüzden açılmaz. Tabletlerde/telefonlarda sanal klavye açılacaktır, çünkü kullanıcının karakter girmesi için başka bir yol yoktur. – WPMed

+0

http://www.windowscentral.com/how-force-tablet-mode-windows-10 – Elshan

+0

Evet, ancak programlı olarak yapmak istiyor. Tabii ki, kullanıcı tablet modunu seçtiyse sanal klavye açılacaktır. Benim açımdan, onu açmaya zorlayamamasıydı. Varsayılan olarak açılır veya kullanıcı isterse etkinleştirebilir. – WPMed

cevap

1

Bir şeyi. InputPane, WinForms'ta kullanamazsınız, InputPane UWP'nin bir öğesidir.

Bu kodu çalıştırdım ... Ve Çalışanlar!

string progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink"; 
string keyboardPath = Path.Combine(progFiles, "TabTip.exe"); 
Process.Start(keyboardPath); 

Ama anahtarın içindeki HKEY_CURRENT_USER\SOFTWARE\Microsoft\TabletTip benim regedit bir tuşa (ELLE) değer eklemek zorunda 1.7 (bu Microsoft tarafından gelecekte değişebilir olurdu) ve EnableDesktopModeAutoInvoke adında bir 32 bitlik DWORD değeri ekleyin adlı bir klasör 1 değeriyle. Bu TRUE demektir. Bu gibi görünmelidir:

REGEDIT

Sen programlama ben Yönetici privilegies gerek anahtarı ekleyebilirsiniz. Programatik olarak anahtar eklemeyi denedim ama çalışmaz, girişi herhangi bir etki olmadan ikiye katlayın (DİKKAT EDİLMELİDİR);

ÖNERİLER:

, düşünün oluşturduğunuz her işlem için bir süreç tıpayı yapmak. Metin kutusu (herhangi bir giriş yöntemi) odağı istediğinde bunu kullanacağınızı düşünüyorum. Bileşen odağını kaybettiğinde süreci durdurun.

bu yardımı umuyorum.

enter image description here

İlgili konular