Einzelnen Beitrag anzeigen

MatthiasW

Registriert seit: 29. Jan 2003
Ort: Reichenbach
253 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Verknüpfungen (shortcuts) lesen

  Alt 16. Nov 2003, 08:56
Hallo,

Zitat von Daniel:
Ich hatte hier in den Tiefen meiner Platte noch eine Funktion gefunden, die vermutlich genau das macht, was Du möchtest.
tja deine Prozedur läuft bei mir nicht, dem ist zB. "OLE2" unbekannt und auch das "IID_IPersistFile". Das kann möglicherweise daran liegen, das du Delphi6 Prof verwendest und ich nur Delphi5 Prof habe.

Ich habe mal folgenden Code versucht:

Code:
type TLnkFileData = record
       Link        : String;
       Description : String;
       IconPath    : String;
       IconIndex   : Integer;
     end;

function GetLinkFileData(LinkFile: String): TLnkFileData;
var
  wLinkFile        : WideString;
  PersistFile      : IPersistFile;
  Link             : IShellLink;
  TempValue        : PChar;
  iCharSize        : Integer;
begin
  wLinkFile := LinkFile;
  CoInitialize(nil);
  if CoCreateInstance(CLSID_SHellLink, nil, CLSCTX_INPROC_SERVER, IShellLink,
    Link) = S_OK then
  begin
    PersistFile := Link as IPersistFile;
    //Link := PersistFile as IShellLink;
    TempValue:= StrAlloc(MAX_PATH+1);
    PersistFile.Load(PWideChar(wLinkFile),STGM_READ);
    Link.GetDescription(TempValue,MAX_PATH);
    Result.Description := String(TempValue);
  end;
  CoUnInitialize;
end;
leider bleibt der TempValue leer nach dem Funktionsaufruf "GetDescription". Hat jemand ne Idee was ich da noch falsch mache?

Danke für eure Hilfe
Mfg Matthias
Hilfe wir stürzen ab!!!
  Mit Zitat antworten Zitat