zoukankan      html  css  js  c++  java
  • Delphi编译的程序如何获取管理员权限

    1.制作manifest文件

     1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
     2 <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
     3 <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
     4 <security>
     5 <requestedPrivileges>
     6 <requestedExecutionLevel level="requireAdministrator" uiAccess="false">
     7 </requestedExecutionLevel>
     8 </requestedPrivileges>
     9 </security>
    10 </trustInfo>
    11 <dependency>
    12 <dependentAssembly>
    13 <assemblyIdentity type="win32"
    14 name="Microsoft.Windows.Common-Controls"
    15 version="6.0.0.0"
    16 processorArchitecture="x86"
    17 publicKeyToken="6595b64144ccf1df"
    18 language="*">
    19 </assemblyIdentity>
    20 </dependentAssembly>
    21 </dependency>
    22 </assembly>

    用记事本保存为:UAC.manifest

    2.第二步对于D7和XE系列有差异。

    (1)XE系列

    如上图所示,选择 Use custom manifest,然后选择刚刚保存的文件。

    这里最好选择All configurations,这样无论是调试模式还是release都支持了。

    然后编译工程,输出exe文件。可以看到小盾牌了。

    运行程序,会弹出提权确认框:

    (2)Delphi 7

    D7里面是没有这个设置的,可以通过资源文件来实现。

    a.新建一个文件文件,输入内容如下:

    1 24 "UAC.manifest"

    1-代表资源编号

    24-资源类型为RTMAINIFEST

    将文件保存为:uac.rc

    b.将RC文件编译为资源文件

    brcc32 uac.rc 

    得到uac.RES 文件,注意uac.rc的路径。

    c.修改工程文件(DPR)

    在{$R *.RES}后面追加

    {$R 'uac.RES'}

    d.编译工程文件,得到EXE文件

    小盾牌看见了吧?

    运行EXE

    提权确认框也弹出来了。


  • 相关阅读:
    由VMnet引起的browser-sync故障解决方案
    Gen8折腾日记
    实变函数笔记(1)——集合与基数
    密码学笔记(6)——复杂度及其相关内容
    微分几何笔记(1)——参数曲线、内积、外积
    密码学笔记(5)——Rabin密码体制和语义安全性
    密码学笔记(4)——RSA的其他攻击
    密码学笔记(2)——RSA密码
    密码学笔记(1)——数论准备知识
    第七章小结
  • 原文地址:https://www.cnblogs.com/codingnote/p/5010040.html
Copyright © 2011-2022 走看看