1

I have a problem, I have an application which has a toolbar icon to launch the system onscreen keyboard. This all works fine with the exception of Windows Vista and Windows 7 beta. The UAC appears to be getting in the way and preventing the osk.exe from running.

I have read that because it is used on the logon screen it will not prompt the user for authentication. If I turn the UAC off it works, however this is not an option as the customer wants it to run out of the box.

Is there anything I can do to get around this?

Phil Hannent
  • 12,047
  • 17
  • 71
  • 118
  • What do you mean it is used on the logon screen? Your application runs before logon? – jgallant Feb 17 '09 at 14:15
  • I was trying to say that the osk is unique in its interaction with UAC, hence why I am unable to start it from my application (which is a standard desktop application). – Phil Hannent Feb 18 '09 at 10:28

2 Answers2

2

OK, it was more about specifics it turned out.

I was using Qt's QProcess::startDetached which I believe uses the CreateProcess function call on windows.

I changed the code to use the ShellExecute() function call and it works like a charm.

Strangely...

Phil Hannent
  • 12,047
  • 17
  • 71
  • 118
  • 1
    As an update, launching the osk.exe was being reported as broken by my users. Turns out that those on Windows 7 64bit could not start the keyboard due to the WowRedirector: http://stackoverflow.com/questions/509989/how-to-allow-32-bit-apps-on-64-bit-windows-to-execute-64-bit-apps-provided-in-win – Phil Hannent Jan 05 '11 at 16:55
  • If you wrap the call to startDetached or to openUrl with calls to `::Wow64DisableWow64FsRedirection` and `::Wow64RevertWow64FsRedirection` like they do in the example here http://msdn.microsoft.com/en-us/library/windows/desktop/aa365743(v=vs.85).aspx it should work just fine without `ShellExecute()`. – phyatt Aug 17 '12 at 20:08
0

Isn't a possibility to try to implement your own OSK so it runs with the same privilegies as your application?

Manuel Ferreria
  • 1,216
  • 1
  • 13
  • 23
  • 4
    I do not really want to reinvent the wheel, plus localised keyboards are a requirement, with 20 layouts that will be a royal pain. – Phil Hannent Feb 18 '09 at 10:30