Windows UAC Delphi, . .
" ", ....
Windows Vista/7 -
- Windows Vista. UAC -, Windows Vista, , Run As.
, Microsoft UAC.
UAC:
:
Program Files
Windows System32
HKLM\Software
... ...
Delphi Windows
Windows, TRegistry, "" , Windows.
, Windows , :
procedure RunOnStartup(const sCmdLine: string; bRunOnce: boolean = false; Remove: Boolean = false) ;
var
sKey: string;
Section: string;
const
ApplicationTitle = "Your Application TITLE";
begin
if (bRunOnce) then
sKey := 'Once'
else
sKey := '';
Section := 'Software\Microsoft\Windows\CurrentVersion\Run' + sKey + #0;
with TRegIniFile.Create('') do
try
RootKey := HKEY_LOCAL_MACHINE;
if Remove then
DeleteKey(Section, ApplicationTitle)
else
WriteString(Section, ApplicationTitle, sCmdLine) ;
finally
Free;
end;
end;
Vista/7, , , , - UAC!
UAC -
, , , , , : .
, Vista UAC .
:
XML :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0]
<assemblyIdentity version="1.1.1.1"
processorArchitecture="X86"
name="YourApplicationExeName"
type="win32"/>
<description>elevate execution level</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2]
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
XML YourApplicationName.manifest
:
1 24 "YourApplicationName.manifest"
YourApplicationName.RC
, :
brcc32 YourApplicationName.RC -foYourApplicationName.REC
YourApplicationName.REC
YourApplicationName.REC .
DPR , :
{$R YourApplicationName.REC}
, - Windows Vista.
1: "YourApplicationExeName" .
2: , EXE . Delphi.
http://delphi.about.com/od/delphitips2009/qt/delphi-vista-registry-run-on-startup.htm