![]() |
Ordner in den Eigenen Dateien systemweit erzeugen/löschen
Hi!
So kann man im aktuellen Benutzerkonto einen Ordner unter "Eigene Dateien" erstellen:
Delphi-Quellcode:
Und dann:
function GetSpecialFolder(hWindow: HWND; Folder: Integer): String;
var pMalloc: IMalloc; pidl: PItemIDList; Path: PChar; begin // get IMalloc interface pointer if (SHGetMalloc(pMalloc) <> S_OK) then begin MessageBox(hWindow, 'Couldn''t get pointer to IMalloc interface.', 'SHGetMalloc(pMalloc)', 16); Exit; end; // retrieve path SHGetSpecialFolderLocation(hWindow, Folder, pidl); GetMem(Path, MAX_PATH); SHGetPathFromIDList(pidl, Path); Result := Path; FreeMem(Path); // free memory allocated by SHGetSpecialFolderLocation pMalloc.Free(pidl); end;
Delphi-Quellcode:
Jetzt meine Frage:
//...
CreateDir(GetSpecialFolder(Handle, CSIDL_PERSONAL)+'\Neuer Ordner'); //... Wie kann man (wenn man Admin ist) einen solchen Ordner systemweit erstellen/löschen? Also immer in den Eigenen Dateien auf allen Benutzerkonten? MfG Cruso |
Re: Ordner in den Eigenen Dateien systemweit erzeugen/lösche
Ich würde dies im Ordner C:\Documents and Settings\All Users ablegen.
Um dieses Verzeichnis zu bekommen
Delphi-Quellcode:
s :=GetSpecialFolder(Handle, CSIDL_COMMON_DOCUMENTS);
//Unterverzeichnis \Documents abtrennen s := ExtractFilePath(s); |
Re: Ordner in den Eigenen Dateien systemweit erzeugen/lösche
Zitat:
Es ist des weiteren auch wichtig, dass jeder Benutzer seinen eigenen Ordner hat und nur seine Daten verändert und nicht die aller Benutzer. |
Re: Ordner in den Eigenen Dateien systemweit erzeugen/lösche
Zitat:
Einen Ordner, oder jeweils ein Ordner pro User? Und was machst du, wenn die "Eigenen Dateien" auf einem Netzlaufwerk liegen bzw. auf dem Domänenserver... |
Re: Ordner in den Eigenen Dateien systemweit erzeugen/lösche
Zitat:
|
Re: Ordner in den Eigenen Dateien systemweit erzeugen/lösche
Dann wirst du wohl das jeweilige Benutzerprofil laden, den Ort der jeweiligen "Eigenen Dateien" ermitteln und den Ordner anlegen müssen.
|
Re: Ordner in den Eigenen Dateien systemweit erzeugen/lösche
Zitat:
|
Re: Ordner in den Eigenen Dateien systemweit erzeugen/lösche
:? wenn man admin ist kommt man da nicht in alle Ordner - auch in die Eigenen Dateien der anderer User, oder :wiejetzt:
|
Re: Ordner in den Eigenen Dateien systemweit erzeugen/lösche
Zitat:
SHGetFolderPath() kann ein Token übergeben werden, dass den Benutzer identifiziert. Um an das Token zu kommen, muss man den Benutzer erstmal anmelden... Zitat:
|
Re: Ordner in den Eigenen Dateien systemweit erzeugen/lösche
Es gibt da noch den Ordner "Default User".
Vermutung: Wenn man einen neuen User anlegt und sich dann anmeldet, wird alles aus "Default User" ins aktuelle Userverzeichnis kopiert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz