Jetzt bin ich gerade in meiner Virtual Machine selbst auf die Lösung gestoßen:
Code:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Programfilesdir
oder
Code:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Programfilespath
welche Lösung ist die bessere oder sind die gleichwertig?
[edit]: hat sich auch erledigt. Unter XP ist programfilespath nur "%Programfiles%".
[edit2]
... wodurch man dann zu folgender Funktion kommt:
Delphi-Quellcode:
uses
[...], registry;
[...]
function getprogramfilesdir:string;
var
r:tregistry;
begin
r:=tregistry.Create(key_read);
try begin
r.RootKey:=HKEY_LOCAL_MACHINE;
r.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion',false);
result:=r.ReadString('ProgramFilesDir');
end except end;
r.free;
end;
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates