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

Windows ShellExecute无法在启用UAC的情况下打开屏幕键盘,windows,keyboard,uac,Windows,Keyboard,Uac,我正在尝试从程序中以编程方式打开Windows7屏幕键盘(osk.exe)。 我找到了一个很好的指南,当UAC关闭时,它工作得很好 当UAC打开时,它根本就没有打开程序,我也不知道为什么。从“开始”菜单打开键盘时不显示UAC提示,因此它似乎不需要管理权限 是否只是因为可执行文件位于windows系统文件夹中,如果是,是否有其他方法可以启动程序 返回的错误为3,未找到错误路径,可能是因为“sysnative”路径在启用UAC的情况下不工作 尝试在没有路径的情况下运行“osk.exe”也会失败,错误

我正在尝试从程序中以编程方式打开Windows7屏幕键盘(osk.exe)。 我找到了一个很好的指南,当UAC关闭时,它工作得很好

当UAC打开时,它根本就没有打开程序,我也不知道为什么。从“开始”菜单打开键盘时不显示UAC提示,因此它似乎不需要管理权限

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

返回的错误为3,未找到错误路径,可能是因为“sysnative”路径在启用UAC的情况下不工作

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


<>最后,运行“C:\Windows Stase32-OSK.exe”失败了错误代码5:当我试图使用重定向关闭(如建议)

> P>我测试了您在消息中引用的C++代码示例时,SeeErrAccess拒绝了。在任何可用的UAC模式下,从VS devenv或作为独立exe启动的例程始终显示屏幕键盘。我的操作系统:Windows7。SP1 64位。

ShellExecute
的调用返回什么?如果失败,它会给你一个错误代码。错误是3,错误路径未找到,正如下面的评论所说