Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Autostart Pfad ermitteln (https://www.delphipraxis.net/139453-autostart-pfad-ermitteln.html)

klose010 29. Aug 2009 08:13


Autostart Pfad ermitteln
 
Schönen guten Tag,
ich bin neu hier im Forum und hab gleich mal eine Frage:
Ich würde gerne den Pfad des Autostartverzeichnisses ermitteln. Hab schon
im Forum gesucht, aber dort wird immer nur erklärt, wie man einen Registry
Eintrag macht.Ich will wirklich nur den Pfad haben. Wie bekomme ich das hin?

haentschman 29. Aug 2009 08:16

Re: Autostart Pfad ermitteln
 
Guten Morgen...und willkommen in der DP :hi:

meinst du den Ordner wo deine Autostartverknüpfungen liegen ?

BUG 29. Aug 2009 09:02

Re: Autostart Pfad ermitteln
 
Pribiere es mal mit Hier im Forum suchenGetSpecialFolder und
Delphi-Quellcode:
const CSIDL_STARTUP = $7;                         //Ermittelt das Verzeichnis "Autostart"
MfG,
Bug

Brunhilde 29. Aug 2009 09:09

Re: Autostart Pfad ermitteln
 
Hallo,
besorge dir das Programm "CodeStuff Starter". Der zeigt Dir wo die Sachen zum Auto Start alle sind.
Wenn Du über 12 kommst bist Du auf dem richtigen Weg.
Den "Autostart Pfad" gibt es so nicht, weil dann müssten alle Programme dort rein.

gruss und viel spass

Kruemel_02 29. Aug 2009 09:11

Re: Autostart Pfad ermitteln
 
Stichworte:
SHGetKnownFolderPath Function dazu dann... KNOWNFOLDERID -> FOLDERID_CommonStartup

Schon ein bisschen aelter:
Pfad der "Special Folders" ermitteln

Dann noch:
GetSpecialFolder

Ansonsten:
Hier im Forum suchengetspecialfolder

Andreas L. 29. Aug 2009 09:42

Re: Autostart Pfad ermitteln
 
Oder gleich Luckies Code nehmen und das Rad nicht nochmal neu erfinden:
Delphi-Quellcode:
uses
  ..., Windows, ActiveX, ShlObj;

function GetShellFolder(CSIDL: integer): string;
var
  pidl                  : PItemIdList;
  FolderPath            : string;
  SystemFolder          : Integer;
  Malloc                : IMalloc;
begin
  Malloc := nil;
  FolderPath := '';
  SHGetMalloc(Malloc);
  if Malloc = nil then
  begin
    Result := FolderPath;
    Exit;
  end;
  try
    SystemFolder := CSIDL;
    if SUCCEEDED(SHGetSpecialFolderLocation(0, SystemFolder, pidl)) then
    begin
      SetLength(FolderPath, max_path);
      if SHGetPathFromIDList(pidl, PChar(FolderPath)) then
      begin
        SetLength(FolderPath, length(PChar(FolderPath)));
      end;
    end;
    Result := FolderPath;
  finally
    Malloc.Free(pidl);
  end;
end;
http://www.michael-puff.de/Artikel/HOMEDIR.shtml

Aufruf:
Delphi-Quellcode:
var
  s: String;
begin
  s := GetShellFolder(CSIDL_STARTUP); //CSIDL_COMMON_STARTUP wäre der Autostart-Ordner für alle Benutzer
  s := IncludeTrailingPathDelimiter(s); //Backslash anhängen falls nicht vorhanden
  ShowMessage(s);
end;

klose010 29. Aug 2009 12:29

Re: Autostart Pfad ermitteln
 
Danke leute, ich habs hinbekommen. :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz