- VS 2010
- Developing 32-bitowych aplikacji, która działa na 64-bitowym systemie operacyjnym (Win7, Win8 - app pulpitu)
- C#
- .NET 4.0
- WinForms
znalazłem wiele wątków na uruchomienie systemu Windows na klawiaturze ekranowej (osk.exe) od aplikacji, ale używam do niektórych problemów. Wygląda na to, że uruchamiam 32-bitową aplikację na 64-bitowym systemie operacyjnym. Próbowałem kodu opublikowanego przez WooCaSh tutaj: Keyboard on the screen in WinFormsJak korzystać z systemu Windows na klawiaturze ekranu w C# WinForms
Ale żadna z trzech różnych ścieżek nie działa dla mnie. W przypadku ścieżki "sysnative" Process.Start "Nie można odnaleźć określonej ścieżki." W przypadku ścieżek system32 i osk.exe pojawia się okno dialogowe błędu "Nie można uruchomić klawiatury ekranowej".
znalazłem możliwego obejścia tutaj, co jest trochę bardziej skomplikowana, niż to, co szukałem (postu eryang): http://social.msdn.microsoft.com/Forums/en-US/netfx64bit/thread/10ebc62f-e6d7-4072-9fd1-ea3784a0966f/
- Czy istnieje łatwiejszy lub poprawny sposób to zrobić?
- Miałem nadzieję, że uruchomienie mojej aplikacji na tablecie spowoduje automatyczne uruchomienie klawiatury ekranowej, gdy użytkownik wybierze pole tekstowe, ale bez powodzenia. Czy to normalne czy coś mi brakuje? EDIT: Zauważyłem, że klawiatura nie jest automatycznie uruchamiana w Win8 w trybie pulpitu (którą jest moja aplikacja): http://www.bleepingcomputer.com/forums/t/480250/keyboard-does-not-pop-up-automatically/ Najwyraźniej działa na tabletach Win7, ale nie mogę przetestować, ponieważ mam tutaj tylko tablety Win8.
Wystarczy zmienić ustawienie celu platformy w projekcie EXE na "AnyCPU". –
Niestety musi to być x86 dla jakiegoś oprogramowania innej firmy, z którym współdziała. – Tara
Tylko do testowania, przeszedłem do przodu i zmieniono na "AnyCPU". Klawiatura nadal nie uruchomiłaby się na moim 64-bitowym pulpicie Win7, ale uruchamia się na 64-bitowym tablecie Win8. Jakieś pomysły? – Tara