Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#6

Re: Windows Dienst wo ist das Arbeitsverzeichnis?

  Alt 9. Nov 2007, 12:07
Zitat von Luckie:
@hathor: Und welcher Ordner ist jetzt das Arbeitsverzeichnis eines Dienstes? Das war doch die Frage.
Delphi-Quellcode:
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;

//Mit folgendem Aufruf werden alle Specialfolder angezeigt, die auf DIESEM PC zur Verfügung stehen:
for i := 0 to 64 do Memo1.Lines.add(IntToStr(i)+' : '+ GetSpecialFolder(Form1.Handle,i));
Da kann er sich dann einen aussuchen...
  Mit Zitat antworten Zitat