I am trying to programmatically open the windows 7 on screen keyboard (osk.exe) from my program. I found a good guide for this on this page and it works quite well when UAC is turned off.
When UAC is turned on, it is not opening the program at all however, and I can't find why. No UAC prompt is shown when opening the keyboard from the start menu, so it doesn't appear to need administrative privileges.
Is it just because the executable is located in the windows system folder, and if so, is there another way to launch a program that would work?
The error returned is 3, ERROR_PATH_NOT_FOUND, possibly because 'sysnative' path is not working with UAC enabled.
Trying to run "osk.exe" without path also fails, with an error "Could not start the On Screen Keyboard"
Finally, running "C:\Windows\system32\osk.exe" fails with error code 5: SE_ERR_ACCESSDENIED when I tried to use it with redirection turned off (as suggested in this question)