程序如何要求管理员权限?
问题描述:
我正在开发一个使用vb.net的应用程序。为了执行某些任务,应用程序需要机器中的管理员权限。如何在程序执行期间要求特权?程序如何要求管理员权限?
切换用户帐户以执行应用程序的一般方法是什么?换句话说,应用程序是否可以在任意用户帐户下运行?
答
您可以编辑UAC设置(2008年VB),它位于项目设置。寻找这样
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
改革问题高级别= “asInvoker” 到
-
level="asInvoker"
(相同的访问令牌作为父进程)行 -
level="requireAdministrator
(需要完全管理员) -
level="highestAvailable"
(对当前用户可用的最高特权)
答
因特网上有几篇关于在Vista中开发提升进程的文章,但本质上提升请求涉及在应用程序清单文件(可能嵌入或并排)中使用提升状态装饰.NET程序集和WIN32可执行文件。
有一个关于你的问题一个很好的博客文章提供的代码你可能需要:
答
我还没有这样做,但是我相信你去(在VS 2008)项目设置 - >应用程序选项卡,然后单击“查看UAC设置”按钮。这会打开你的app.manifest文件。有一个标签,我认为它包含你正在寻找的选项。该矿已注释掉一些选项应该让你开始:
答
IN VS 2015年:进入:项目 - >(项目名称)属性... - >应用程序 - >查看Windows设置和发现app.manifest(19行):改变asInvoker到:
- “asInvoker”(相同的访问令牌父进程)
- “requireAdministrator(需要完全管理员)
- ‘highestAvailable’(最高可到当前用户的权限)
看起来像博客文章链接破碎! – 2017-05-09 05:56:20