01
2016
02

VB程序在win7、win8、win10下自动调用管理员权限运行程序

由于win7之后的系统的权限策略,导致运行一些程序功能的时候需要"以管理员身份运行",然而对用户来说这是一个不好的体验,编写程序的时候如果不注意,也会导致程序错误,那么有没有方法自动调用管理员权限,而不用每次都要右键以管理员身份运行呢,答案当然是可以的。(注:此方法只是自动调用管理员权限运行,如果登录的用户没有管理员权限,是不会提升权限的

方法步骤:

1. 新建一个文本文件,将如下内容粘贴到文本文件中。


    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 

    <assemblyIdentity version="1.0.0.0"

         processorArchitecture="X86"

         name="IsUserAdmin"

         type="win32"/> 

    <description>Description of your application</description> 

    <!-- Identify the application security requirements. -->

    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">

        <security>

          <requestedPrivileges>

            <requestedExecutionLevel

              level="requireAdministrator"

              uiAccess="false"/>

            </requestedPrivileges>

           </security>

    </trustInfo>

    </assembly>


2. 将此文本文件另存为一个与你程序名称(包括Exe后缀)相同manifest文件,如:abc.exe.manifest 

3. 一个资源文件名为类型为“24”的资源文件:在同一目录新建一个文本文件,输入 1 24 abc.exe.manifest ,保存为任意名称的RC文件,如abc.rc

4. 如果安装了VC,用VC打开RC文件,之后另为RES文件即可。

    如果未安装VC,打开CMD,进入VB安装目录的Wizard文件夹(如:cd C:\Program Files\Microsoft Visual Studio\VB98\Wizards 之后回车),再输入 “rc /r 刚才制作的RC文件路径”(如:rc /r c:\vb\win.rc),得到的资源文件,通过VB资源编辑器导入即可。(注:有些VB的精简版、绿色版、或各种阉割版可能没有这个RC.EXE文件,请自行寻找或安装完整版

5. 到此已经实现了自动调用管理员权限的功能,编译之后测试一下吧。

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。