Juhuuu....ich hab ein Problem eine Verknüpfung zu erstellen. Ich habe mir vor kurzem eine Soure aus diesem Forum besorgt, aber hab den Thread nicht mehr gefunden....SORRY
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| function CreateLink(lpszPathObj,lpszPathLink, lpszDesc: string):Boolean; var psl: IShellLink; ppf: IPersistFile;
const IID_IPersistFile: TGUID = (D1:$0000010B; D2:$0000; D3:$0000; D4:($C0,$00,$00,$00,$00,$00,$00,$46)); begin result := False; if SUCCEEDED(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IID_IShellLinkA, psl)) then begin psl.SetPath(PChar(lpszPathObj)); psl.SetDescription(PChar(lpszDesc)); if SUCCEEDED(psl.QueryInterface(IID_IPersistFile, ppf)) then begin ppf.Save(StringToOLEStr(lpszPathLink),TRUE); Result := true; ppf._Release; end; end; psl._Release; end;
if CreateLink('d:\Datei.exe', 'c:\Verknüpfung.exe', 'Verknüpfung') then MessageDlg('Verknüpfung angelegt', mtInformation, [mbOk], 0);
Benötigt wird die Unit ShlOBJ. |
Soweit so gut aber mein Delphi sagt mir, dass er die folgenden Sachen nicht kennt, trotz Einbindung der ShlOBJ.dcu
IPersistFile
SUCCEEDED
CoCreateInstance
und noch ein paar mehr....Aber welche Unit muss ich einbinden, damit es läuft?????