![]() |
.lnk dateien auf dem Desktop werden nicht erkannt.
Hallo zusammen.
Ich hab mir nen Programm geschrieben, welches meinen Desktop für mich aufräumt (nicht benötigte Dateien verschiebt). Das Problem ist: Es erkennt einige .lnk dateien nicht. Meistens genau die dateien, welche vom Programm bei der installation selbst erstellt wurden sind. ZB. Adobe Acrobat, Antivir usw... Mein Funktion um Dateien einzulesen sieht wie folgt aus:
Delphi-Quellcode:
Die besagten .lnk Dateien werden allerdings nicht gefunden :x..
function GetFiles : TStringArray;
var Rec : TSearchRec; nFileCount : integer; foo : string; begin nFileCount := 0; if FindFirst(GetDesktopPath+'\*.*', faAnyFile, Rec) = 0 then begin repeat // Exclude directories from the list of files. if ((Rec.Attr and faDirectory) <> faDirectory) then begin SetLength(Result, High(Result)+2); Result[nFileCount] := Rec.Name; Inc(nFileCount); end; until FindNext(Rec) <> 0; FindClose(Rec); end; end; Jemand nen Tipp ? Grüße, stiftII |
Re: .lnk dateien auf dem Desktop werden nicht erkannt.
Was ist das für ein Pfad: GetDesktopPath?
Es gibt auch noch andere Ordner, wo die Dateien auf dem Desktop liegen, AllUsers zum Beispiel. |
Re: .lnk dateien auf dem Desktop werden nicht erkannt.
Zitat:
Danke der Tipp könnte schon meine Problemlösung sein ;). Werds gleich mal testen. Zu deiner Frage:
Delphi-Quellcode:
function GetDesktopPath : string;
var shellMalloc: IMalloc; ppidl: PItemIdList; PerDir: string; begin ppidl := nil; try if SHGetMalloc(shellMalloc) = NOERROR then begin SHGetSpecialFolderLocation(Form1.Handle, CSIDL_DESKTOP, ppidl); SetLength(Result, MAX_PATH); if not SHGetPathFromIDList(ppidl, PChar(Result)) then raise exception.create('SHGetPathFromIDList failed : invalid pidl'); SetLength(Result, lStrLen(PChar(Result))); end; finally if ppidl <> nil then shellMalloc.free(ppidl); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 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