1

I have a WPF 4.0 application that I have compiled for x86. When running on 64bit Win7, I need to start up an on-screen keyboard, located in %windows%/System32/osk.exe. Problem is I can't do it- I get an error 'Could not start On-Screen Keyboard'.

I found this thread: Unable to launch onscreen keyboard (osk.exe) from a 32-bit process on Win7 x64 which sounds exactly like my problem.

I used all the relevant bits from that post, but the error persists. And even worse, I managed to get a 32 bit version of osk.exe and when I try to start THAT I just get a blank error box- no message at all, just a red 'X'.

So I can't compile my app for AnyCPU (3rd party interop libs), and have read that that might not solve the issue anyways. I have also read that one workaround is to disable virtualization using Wow64DisableWow64FsRedirection, but that this is unsafe. Seems like a lot of effort just to run a little app :(

What can I do to launch this little thing from my app?

Community
  • 1
  • 1
Nicros
  • 5,031
  • 12
  • 57
  • 101
  • The OP in that question shot himself in the foot, specifically by using Wow64DisableWow64FsRedirection(). Don't make that same mistake. Otherwise no idea why you are having trouble. Have you tried the little helper program like I recommended? – Hans Passant Mar 21 '11 at 02:04
  • Yep, I did use the helper program, worked like a charm. Seems silly though, doesn't it? And I ended up not using that either, because also on Win7 tablet systems is TabTip.exe, which doesn't have any issues launching. So I spent about 2 hours and learned something :) – Nicros Mar 22 '11 at 03:19

1 Answers1

0

Wrapping the offending app in a exe compiled with AnyCPU works fine and seems to be the least painful approach.

Nicros
  • 5,031
  • 12
  • 57
  • 101