Delphi生成EXE自动以管理员身份运行

【测试环境】Windows 7 旗舰版 With Sp1,RAD 10 Seattle

1、文本文件:UAC.manifest

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false">
</requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*">
</assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>

2、文本文件:UAC.rc

1 24 UAC.manifest

3、拷贝上述两个文件到RAD10目录下/bin(如Embarcadero\Studio\17.0\bin)

4、用brcc32编译这个.rc文件为.res文件

brcc32 uac.rc -fouac.res

5、在工程文件.dpr中{$R *.res}后面加入{$R uac.res}

6、打开工程属性,Application->Manifest File,改成Custom,在下方选择UAC.manifest文件,重新编译工程。

时间: 2024-07-30 23:58:37

Delphi生成EXE自动以管理员身份运行的相关文章

Delphi Xe2 后的版本如何让Delphi程序启动自动“以管理员身份运行&quot;

由于Vista以后win中加入的UAC安全机制,采用Delphi开发的程序如果不右键点击“以管理员身份运行”,则会报错. 在XE2以上的Delphi版本处理这个问题已经非常简单了. 右建点击工程,选择“Options”->“Applicaion”下,将Runtime themes项设置为“Use Custom manifest”,点击下方按钮,选择相应的Manifest文件即可. 需要注意的是:Debug和Release模式不同,要进行同样设置 如图: 至于Manifest文件,也就是一个XML

如何自动以管理员身份运行.NET程序?

原文:如何自动以管理员身份运行.NET程序? windows 7和vista提高的系统的安全性,同时需要明确指定“以管理员身份运行”才可赋予被运行软件比较高级的权限,比如访问注册表等.否则,当以普通身份运行的程序需要访问较高级的系统资源时,将会抛出异常. 如何让程序在启动时,自动要求“管理员”权限了,我们只需要修改app.manifest文件中的配置项即可. app.manifest文件默认是不存在的,我们可以通过以下操作来自动添加该文件. (1)进入项目属性页. (2)选择“安全性”栏目. (

win8中让cmd.exe始终以管理员身份运行

最近在学习配置本地服务器,在命令行启动mysql时总是由于权限不足而失败, 查了好多方法,终于找到一劳永逸的方法了. Win+R -- cmd ,这样总是不能,还要找到cmd.exe右键以管理员身份运行cmd,再 net start mysql才可以. 每次都这样相当麻烦,能不能默认就让cmd.exe以管理员身份来运行呢? 答案是可以的. Win+R -- regedit 找到以下位置 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Current

如何让生成的程序以管理员身份运行(C++builder)

在vista以后的windows版本中,有些时候需要提升编译后生成程序的权限,即希望让生成的程序以管理员身份运行.虽然在一般情况下,可以使用鼠标右键选择的方式来强行以管理员身份运行,但它并没有屏蔽普通运行方式,而且普通人通常也不会使用右键选择以管理员身份运行,所以必须在生成程序时就限定程序只能以管理员方式来运行.以下以C++builder为例来说明一下具体方法.先简单说一下,在vista以后的windows版本中,微软引入了UAC机制,它的目的是防止程序对操作系统本身进行恶意篡改.要让程序以管理

让程序自动以管理员身份运行(用到了DuplicateToken,模拟管理员的身份,不可思议)

[c-sharp] view plain copy using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.Ht

Delphi 判断exe是否以管理员身份启动

1 1:获取程序运行的用户名 2 function GetProcessIdentity(): String; 3 var 4 hToken: THandle; 5 UserName, UserDomain: String; 6 cbName, cbDomainName: ULONG; 7 ReturnLength: DWORD; 8 Buff: array of Byte; 9 tu: PTokenUser; 10 peUse: SID_NAME_USE; 11 label 12 Cleanu

C# 让程序自动以管理员身份运行

无意中遇到需要以管理员方式运行的程序,最终找到如下的解决方法: 在程序中加入MANIFEST资源文件 首先打开Vs工程,看在Properties下是否有app.manifest这个文件; 如没有,右击工程在菜单中选择"Properties",出现界面如下图: 选中"Security",在界面中勾选"Enable ClickOnce Security Settings"后,在Properties下就有自动生成app.manifest文件. 打开ap

Inno Setup怎样创建一个自动申请管理员身份运行的快捷

如果你使用的是 Unicode 版本的 Inno Setup,那么以下是更为专业的解决方法. 这是 mlaan 提及的再一种方法. QUOTE( CodeAutomation3.iss) ; -- CodeAutomation2.iss -- ; ; This script shows how to use IUnknown based COM Automation objects. ; ; REQUIRES UNICODE INNO SETUP! ; ; Note: some unneeded

C#如何调用以管理员身份运行的cmd命令提示符

windows自从vista.win7.win8/8.1以及win10以来,命令行提示符分为两种模式,一种是普通用户模式,一种的管理员模式,很多情况下,我们的程序需要在命令提示符(管理员身份)的状况下运行,但是c#调用的时候一般都是普通用户的cmd命令,虽然可以通过右键 - 以管理员身份运行该软件,但是我们用c#开发的软件,不能告诉每一个用户让他们都以管理员身份运行吧?今天亦是美网络就给大家介绍一个简单的方法,轻松实现c#调用以管理员身份运行的命令提示符. 笔者的环境:win8.1专业版 64位