Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Inhalt von Autostart auflisten (https://www.delphipraxis.net/47906-inhalt-von-autostart-auflisten.html)

Delphideppen 15. Jun 2005 10:05


Re: SHGetSpecialFolderPath fehlt in meiner Shell32.dll
 
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;

Christian Seehase 15. Jun 2005 17:53

Re: SHGetSpecialFolderPath fehlt in meiner Shell32.dll
 
Moin Delphideppen,

da das was Du da gepostet hat anscheinend nichts mit dem Problem des Threads zu tun hat, würde ich jetzt eigentlich gerne den Thread dort teilen, und einen neuen Thread daraus machen, aber leider ist mir nicht klar, ob und wo jetzt ein Problem vorliegt ;-)

Delphideppen 17. Jun 2005 08:09

Re: SHGetSpecialFolderPath fehlt in meiner Shell32.dll
 
hallo delphi Progranmmierer,

ganz einfach ich will die ordnerinhalte vom autostart ordner auflisten.
die 2 procedure ist ja dafür das ich ordnerinhalte auflisten kann uns meine frage sit wie ich mit der procedure die ordnerinhalte des autostarts auflisten kann.

vieleicht ist die procedure auch voll falsch. kommt moch jemand mit was ich meine.

danke delphideppen

so das war manu, ich schreib jetzt auch mal was dazu:

wir haben diesen thread benutzt da er sich mit SHgetSpecialFolderPath beschäftigt. diese funktion haben wir ja dazu benutzt um den Pfad des Autostartordners zu ermitteln, was jetzt ja auch endlich klappt :)

Nun möchten wir mit GetDirs den Inhalt des Autostartordners auflisten lassen, und benötigen dazu ja das ergebnis aus der ersten funktion (GetStartupPath). Leider sind wir zu blöd um uns das ergebnis ausem array/Buffer (keine Ahnung) zu hohlen um dass in die GetDirs Prozedur einzubinden. Danach möchten wir wenn wir die verknüpfung von einem bestimmten Programm haben, den Pfad zur verlinkten *.exe aus dem ShortCut heraushohlen. Ich hoffe das war präzise und stimmt dass passt jetzt nicht mehr so wirklich unter dass Thema, wär schön wenn ein Admin den Thread verschiebt bzw. einen neuen aufmacht.
Vielen Dank für eure Unterstützung.
Gruß

Amon

dahead 23. Jun 2005 07:13

Re: Inhalt von Autostart auflisten
 
Liste der Anhänge anzeigen (Anzahl: 1)
@delphideppen:

Morgen,

ich hab dir mal eine unit von mir als anhang beigefügt, die das von dir beschr. problem lösen sollte.

ich will dich nicht bremsen, aber ein wirklich gutes programm in diesem bereich gibt es unter:
http://www.sysinternals.com/utilities/autoruns.html

wird schwer das zu schlagen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 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