我创建了一个在Windows启动时运行程序的Windows服务,但是使用此解决方案,程序在没有管理员权限的情况下运行。但是,如果我通过单击“开始”菜单上程序的快捷方式来运行程序,它将以管理员权限运行
我使用此代码运行程序:
ApplicationLoader.PROCESS_INFORMATION procInfo;
ApplicationLoader.StartProcessAndBypassUAC(program_name, out procInfo);
那么如何使用管理员权限运行此程序? 感谢
答案 0 :(得分:2)
以管理员身份(程序)
运行右键单击并选择"以管理员身份运行" (一次性/临时性)
或右键单击并选择属性>兼容性>检查"以管理员身份运行此程序" (永久设置;也可以方便在快捷方式上设置此属性(这基本上就是“开始”菜单项))
不以管理员身份(服务)
运行对于服务,要使其不以管理员身份运行,请打开服务管理单元(从命令提示符运行services.msc
)并右键单击以编辑服务的属性,然后更新&#上的用户信息34;登录"标签
<强>更新强>
您似乎已经使用了包含Windows API函数CreateProcessAsUser
(http://www.codeproject.com/Articles/35773/Subverting-Vista-UAC-in-Both-and-bit-Archite)的CodeProject文章中的一些代码。请务必阅读该文章并按照步骤操作。您可能没有在服务上设置正确的用户,或者您当前的用户可能没有正确的权限,或者可能不是管理员的成员等。