Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#24

Re: Getallusers-Pfade: Notlösung

  Alt 18. Sep 2006, 12:55
Hier nochmal der richtige Code zum Auslesen des Profilverzeichnisses:
Delphi-Quellcode:
interface

function GetProfilesDirectoryA(lpProfilesDir: LPSTR; var lpcchSize: DWORD): BOOL; stdcall;
{$EXTERNALSYM GetProfilesDirectoryA}
function GetProfilesDirectoryW(lpProfilesDir: LPWSTR; var lpcchSize: DWORD): BOOL; stdcall;
{$EXTERNALSYM GetProfilesDirectoryW}
function GetProfilesDirectory(lpProfilesDir: LPTSTR; var lpcchSize: DWORD): BOOL; stdcall;
{$EXTERNALSYM GetProfilesDirectory}

implementation

const
   userenvlib = 'userenv.dll';

function GetProfilesDirectoryA; external userenvlib name 'GetProfilesDirectoryA';
function GetProfilesDirectoryW; external userenvlib name 'GetProfilesDirectoryW';
function GetProfilesDirectory; external userenvlib name 'GetProfilesDirectoryA';

function LeseBenutzerProfilVerzeichnis:string;
var
   len : DWORD;
   begin
   len := 264;
   SetLength(result, len);
   if not GetProfilesDirectoryA(PChar(Result), len) then
      RaiseLastWin32Error;
   SetLength(Result, len);
end;
Über die JEDI API Library ( http://jedi-apilib.sourceforge.net/ ) erhält man Zugriff auf alle
Funktionen der DLL userenv.dll.
Reinschauen lohnt sich.
Andreas
  Mit Zitat antworten Zitat