- VS 2010
- Разработка 32-разрядного приложения, работающего на 64-разрядной ОС (Windows 7, Windows 8 - приложение для настольных компьютеров)
- С#
- .NET 4.0
- WinForms
Я обнаружил много потоков при запуске экранной клавиатуры Windows (osk.exe
) из приложения, но у меня возникают некоторые проблемы. Это происходит потому, что я запускаю 32-битное приложение на 64-битной ОС. Я попробовал код, опубликованный WooCaSh здесь: клавиатура на экране в WinForms
Но ни один из трех разных путей не работает для меня. Для sysnative
пути Process.Start
завершается с ошибкой "Не удается найти указанный путь". Для путей system32
и osk.exe
я получаю диалоговое окно с сообщением об ошибке "Не удалось запустить экранную клавиатуру".
Я нашел здесь возможный обходной путь, который немного сложнее, чем я искал (сообщение от eryang): http://social.msdn.microsoft.com/Forums/en-US/netfx64bit/thread/10ebc62f-e6d7 -4072-9fd1-ea3784a0966f/
- Есть ли более простой или правильный способ сделать это?
- Я надеялся, что запуск моего приложения на планшете автоматически запустит экранную клавиатуру, когда пользователь выберет текстовое поле, но не повезло. Это нормально или я что-то упустил? Я обнаружил, что клавиатура не запускается автоматически в Windows 8 в режиме рабочего стола (которым является мое приложение): http://www.bleepingcomputer.com/forums/t/480250/keyboard-does-not-pop-up -автоматически/по- видимому, это работает на планшетах Windows 7, но я не могу проверить, потому что у меня есть только планшеты Windows 8 здесь.