Einzelnen Beitrag anzeigen

Delphideppen

Registriert seit: 15. Apr 2005
3 Beiträge
 
#1

Re: SHGetSpecialFolderPath fehlt in meiner Shell32.dll

  Alt 15. Jun 2005, 11:05
Hallo Liebe Delphi User,

wir habens jetzt geschafft in unserem programm den Autostart ordner zu ermitteln. Nun möchten wir mit GetDirs den Inhalt des Autostart ordners auflisten und aus einer bestimmten verknüpfung den Pfad der Exe ermitteln. Hier ein Ausschnitt aus unserem Code:

Delphi-Quellcode:
function GetStartupPathCurrentUser : String;
var
  buffer : Array[0..MAX_PATH+1] of Char;
  IDL : PItemIDList;
  pMalloc : IMalloc;
begin
  result:='';
  if SHGetMalloc(pMalloc) <> NO_ERROR then exit;
  if Succeeded(SHGetSpecialFolderLocation(0, CSIDL_STARTUP, IDL)) then
    if SHGetPathFromIDList(IDL, buffer) then
      result:=buffer;
  pMalloc.Free(IDL);
end;

Procedure GetDirs(RootDir: string; dirlist: TStrings);
var
  search: TSearchRec;
  ts: TStringList;
begin
  ts := TStringList.Create;
  try
    if FindFirst(RootDir + '*.*', faAnyFile, search) = 0 then
    begin
      while true do
      begin
        if ((search.Attr and faDirectory) <> faDirectory) then
        begin
          ts.Add(search.Name);
        end;
        if FindNext(search) <> 0 then break;
      end;
      FindClose(search);
    end;
    ts.sort;
    dirlist.Add('');
    dirlist.Add('Dirlist - ' + RootDir);
    dirlist.Add('------------------------------------------------------------------');
    Dirlist.AddStrings(ts);
  finally
    ts.Free;
  end;
  Mit Zitat antworten Zitat