ShellExecute无法在启用UAC的情况下打开屏幕键盘

时间:2013-02-02 16:26:10

标签: windows keyboard uac

我正在尝试以编程方式从我的程序中打开屏幕键盘上的Windows 7(osk.exe)。 我找到了一个很好的指南on this page,当UAC关闭时,它的效果非常好。

当UAC打开时,它根本没有打开程序,我找不到原因。

表示从开始菜单打开键盘时没有显示UAC提示符。

是否只是因为可执行文件位于Windows系统文件夹中,如果是这样,是否有其他方法可以启动可行的程序?

返回的错误是3,ERROR_PATH_NOT_FOUND,可能是因为'sysnative'路径无法启用UAC。

尝试在没有路径的情况下运行“osk.exe”也会失败,并显示错误“无法启动屏幕键盘”

最后,运行“C:\ Windows \ system32 \ osk.exe”失败,错误代码为5:SE_ERR_ACCESSDENIED当我尝试使用重定向关闭时(如this question中所述)

1 个答案:

答案 0 :(得分:0)

我测试了你在邮件中引用的c ++代码示例。该例程从VS devenv启动,或者作为独立的exe程序始终在任何可用的UAC模式下显示屏幕键盘。我的操作系统:Windows 7 Ult。 SP1 64位。