The Portable App - On-Screen Keyboard and the KeePass On-Screen Keyboard plugin both suffer the same issue when run from any 64 bit Windows 7 PC I have tried them on. Both programs work fine in 32 bit XP and 32 bit win 7.
This is what I found.
Error when opening On-Screen keyboard in windows 7 - "Could not start On-Screen keyboard" (Visual Basic Development Center)
This is an issue with 64-bit OS, it affects any 64-bit version of Windows.
Basically you are calling osk.exe, but your program you are calling it from is a 32-bit app. Windows won't allow you to call a 64-bit OSK.exe from your program. The comments appear to miss your point here, anyone can start osk.exe from Run, but call it from within a 32-bit application won't work in 64-bit Windows.
I am developing software that uses the on-screen keyboard, the only work around is Wow64DisableWow64FsRedirection.
Ideally Microsoft should include a 32-bit version of OSK.exe in the system folder and allow us to use it, if being called from a 32-bit application.
Another work around is to get your hands on 32-bit Windows XP and pull osk.exe from it, bundle this with you app. When you call the on-screen keyboard, check if OS is 64-bit, if it is call the Windows XP osk.exe, works OK. Although not ideal.
I hope this finds it's way to someone who can use it to make the On Screen keyboard app work again in 64 bit Windows.
[Quote changed to a <blockquote> - mod Chris]