Hai Jonas,
ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS".
das liegt daran das die TShellListView das "Verzeichniss" rfAppDate intern händelt.
Du musst dir also auf einem anderen Weg den Pfad zu diesem Verzeichniss holen.
Entweder so:
Delphi-Quellcode:
uses
ShlObj;
function GetShellFolder(CSIDL: integer): string;
var
pidl: PItemIdList;
FolderPath: string;
SystemFolder: Integer;
begin
FolderPath := '';
SystemFolder := CSIDL;
if SUCCEEDED(SHGetSpecialFolderLocation(0, SystemFolder, pidl)) then
begin
SetLength(FolderPath, MAX_PATH);
SHGetPathFromIDList(pidl, PChar(FolderPath));
SetLength(FolderPath, lstrlen(PChar(FolderPath)));
end;
Result := FolderPath;
end;
und übergibst als CSIDL
CSIDL_APPDATA.
Oder so:
Delphi-Quellcode:
function AppDataDir: string;
begin
Result := GetEnvironmentVariable('APPDATA');
end;
Aufrufen kannst Du es dann so:
Delphi-Quellcode:
procedure TForm1.btn_TestClick(Sender: TObject);
var
app_Data_dir : string;
begin
app_Data_dir := GetShellFolder(CSIDL_APPDATA);
// app_Data_dir := AppDataDir;
ShellTreeView1.Root := app_Data_dir + '\Microsoft\Internet Explorer\Quick Launch';
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"