Das ist doch in den Links oben genau beschrieben:
Mit einem 32Bit-Programm bekommst Du auch NUR den 32Bit-Ordner! Siehe Anhang...
Ich würde von den WINDOWS-Programm-Pfaden "die Finger lassen".
Alternative - da ist es gleich, ob 32Bit oder 64Bit:
Delphi-Quellcode:
function SpecialDirectory(const iID: Integer): string;
var aPath : array[0..MAX_PATH] of Char; pilTemp: PItemIDList;
begin
try
if SHGetSpecialFolderLocation(0, iID, pilTemp)=S_OK then begin
if SHGetPathFromIDList(pilTemp, aPath) then begin
Result := string(aPath);
end else Result := ''; CoTaskMemFree(pilTemp);
end else Result := '';
except Result := '';
end;
end;
function GetConfigPath: String;
var AppDir: String;
begin
AppDir := SpecialDirectory(CSIDL_APPDATA)+'\DEIN PROGRAMM-NAME'; //DEIN PROGRAMM-NAME
if DirectoryExists(AppDir) = false then mkdir(AppDir);
result := AppDir+'\';
end;