Запуск 64-битного процесса из 32-битного приложения? - PullRequest
1 голос
/ 21 марта 2011

У меня есть приложение WPF 4.0, которое я скомпилировал для x86. При работе на 64-битной Win7 мне нужно запустить экранную клавиатуру, расположенную в% windows% / System32 / osk.exe. Проблема в том, что я не могу это сделать - я получаю сообщение об ошибке «Не удалось запустить экранную клавиатуру».

Я нашел эту тему: Невозможно запустить экранную клавиатуру (osk.exe) из 32-разрядного процесса на Win7 x64 , что звучит так же, как моя проблема.

Я использовал все соответствующие биты из этого поста, но ошибка сохраняется. И что еще хуже, мне удалось получить 32-битную версию osk.exe, и когда я пытаюсь запустить ТО, я просто получаю пустое окно с ошибкой - вообще никаких сообщений, просто красный «X».

Поэтому я не могу скомпилировать свое приложение для AnyCPU (сторонние библиотеки взаимодействия) и прочитал, что это может не решить проблему в любом случае. Я также читал, что один из обходных путей - отключить виртуализацию с помощью Wow64DisableWow64FsRedirection, но это небезопасно. Кажется, нужно приложить немало усилий, чтобы запустить небольшое приложение: (

Что я могу сделать, чтобы запустить эту маленькую вещь из моего приложения?

1 Ответ

0 голосов
/ 22 марта 2011

Обертывание приложения-нарушителя в исполняемый файл, скомпилированный с AnyCPU, работает нормально и кажется наименее болезненным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...