我创建了一个在 Windows 启动时运行程序的 Windows 服务,但使用此解决方案,该程序无需管理员权限即可运行。但是,如果我通过单击“开始”菜单上的程序快捷方式来运行该程序,它将以管理员权限运行
我使用这段代码来运行该程序:
ApplicationLoader.PROCESS_INFORMATION procInfo;
ApplicationLoader.StartProcessAndBypassUAC(program_name, out procInfo);
那么如何以管理员权限运行这个程序呢?
谢谢
以管理员身份运行(程序)
右键单击并选择“以管理员身份运行”(一次性/临时)
或者右键单击并选择属性>兼容性>选中“以管理员身份运行此程序”(永久设置;也可以方便地在快捷方式上设置此属性(这基本上就是“开始”菜单项))
不以管理员身份运行(服务)
对于服务,要使其不以管理员身份运行,请打开服务管理单元(运行services.msc
从命令提示符)并右键单击以编辑服务的属性,然后更新“登录”选项卡上的用户信息。
UPDATE
您似乎使用了 CodeProject 文章中的一些代码来包装 Windows API 函数CreateProcessAsUser
(http://www.codeproject.com/Articles/35773/Subverting-Vista-UAC-in-Both-and-bit-Archite http://www.codeproject.com/Articles/35773/Subverting-Vista-UAC-in-Both-and-bit-Archite)。请务必阅读该文章并按照步骤操作。您可能没有在服务上设置正确的用户,或者您当前的用户可能没有正确的权限,或者可能不是管理员的成员等。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)