【问题标题】:ShellExecute fails opening On Screen Keyboard with UAC enabledShellExecute 在启用 UAC 的情况下无法打开屏幕键盘
【发布时间】:2013-02-02 16:26:09
【问题描述】:

我正在尝试从我的程序以编程方式在屏幕键盘 (osk.exe) 上打开 windows 7。 我找到了一个很好的指南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 中所建议的那样)

【问题讨论】:

标签: windows keyboard uac


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 2015-11-20
    • 1970-01-01
    • 2015-05-31
    • 2016-12-13
    • 1970-01-01
    相关资源
    最近更新 更多