Einzelnen Beitrag anzeigen

Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#21

Re: Verknüpfungen (shortcuts) lesen

  Alt 4. Aug 2005, 14:56
Delphi-Quellcode:
uses ShlObj, ComObj, ActiveX;
  
function GetLinkDestination(s: WideString): string;
var aShellLink : IShellLink;
    aPersistFile : IPersistFile;
    szData : array[0 .. MAX_PATH] of char;
    aFindData : TWin32FindData;
begin
  aShellLink := CreateComObject(CLSID_ShellLink) as IShellLink;
  aPersistFile := aShellLink as IPersistFile;

  OleCheck(aPersistFile.Load(PWidechar(s),STGM_READ));
  OleCheck(aShellLink.GetPath(szData,MAX_PATH,aFindData,SLGP_SHORTPATH));

  Result := szData;
end;
Allererste Sahne. Funktioniert einwandfrei, gibt aber wegen "SLGP_SHORTPATH" (wie erwähnt) nur 8-Zeichen-lange Pfade zurück, stört aber nicht beim Ausführen von Dateien.
Achim
  Mit Zitat antworten Zitat