gpt4 book ai didi

delphi - 使用更新资源将 UAC list 文件附加到任何 PE

转载 作者:行者123 更新时间:2023-12-03 18:24:48 36 4
gpt4 key购买 nike

我想构建一个简单的工具来将 UAC list 文件附加到给定的 exe 文件,代码可以正常工作,但没有任何反应。我必须说,当我使用 mainfest 文件手动编译时,它可以正常工作。

procedure TForm1.Button1Click(Sender: TObject);
var
myRes:THandle;
test:PChar;
begin
test:='<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'+#13#10+
'<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">'+#13#10+
'<assemblyIdentity version="1.1.1.1"'+#13#10+
'processorArchitecture="X86"'+#13#10+
'name="[APP TO TEST WITH]"'+#13#10+
'type="win32"/>'+#13#10+
'<description>elevate execution level</description>'+#13#10+
'<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">'+#13#10+
'<security>'+#13#10+
'<requestedPrivileges>'+#13#10+
'<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>'+#13#10+
'</requestedPrivileges>'+#13#10+
'</security>'+#13#10+
'</trustInfo>'+#13#10+
'</assembly> ';
myRes := BeginUpdateResource('testuac.exe',false);
UpdateResource(myRes,MakeIntResource(24),'1',1033,test,length(test));
EndUpdateResource(myres,false);
ShowMessage(SysErrorMessage(GetLastError));
end;//Compiled with Delphi 7

代码可以工作,资源出现在 exe 中,但不起作用。知道为什么吗?

最佳答案

您似乎无法为 list 资源指定任意名称,请尝试

UpdateResource(myRes,MakeIntResource(24),MakeIntResource(1),1033,test,length(test));


来自 winuser.h:

#define CREATEPROCESS_MANIFEST_RESOURCE_ID MAKEINTRESOURCE( 1)


来自 Specifying a Default Activation Context

Resource ID 1 (CREATEPROCESS_MANIFEST_RESOURCE_ID) is activated implicitly when the .EXE is executed.

关于delphi - 使用更新资源将 UAC list 文件附加到任何 PE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6166867/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com