如何使用管理员权限从Windows服务运行程序

时间:2014-12-03 04:53:41

标签: windows-services

我创建了一个在Windows启动时运行程序的Windows服务,但是使用此解决方案,程序在没有管理员权限的情况下运行。但是,如果我通过单击“开始”菜单上程序的快捷方式来运行程序,它将以管理员权限运行

我使用此代码运行程序:

ApplicationLoader.PROCESS_INFORMATION procInfo;

ApplicationLoader.StartProcessAndBypassUAC(program_name, out procInfo);

那么如何使用管理员权限运行此程序? 感谢

1 个答案:

答案 0 :(得分:2)

以管理员身份(程序)

运行

右键单击并选择"以管理员身份运行" (一次性/临时性)

或右键单击并选择属性>兼容性>检查"以管理员身份运行此程序" (永久设置;也可以方便在快捷方式上设置此属性(这基本上就是“开始”菜单项))

不以管理员身份(服务)

运行

对于服务,要使其不以管理员身份运行,请打开服务管理单元(从命令提示符运行services.msc)并右键单击以编辑服务的属性,然后更新&#上的用户信息34;登录"标签

<强>更新

您似乎已经使用了包含Windows API函数CreateProcessAsUserhttp://www.codeproject.com/Articles/35773/Subverting-Vista-UAC-in-Both-and-bit-Archite)的CodeProject文章中的一些代码。请务必阅读该文章并按照步骤操作。您可能没有在服务上设置正确的用户,或者您当前的用户可能没有正确的权限,或者可能不是管理员的成员等。