(Co-Admin)
Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
Turbo Delphi für Win32
|
Eine Verknüpfung erstellen
28. Apr 2004, 16:29
Delphi-Quellcode:
uses
ActiveX;
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; //---> Runtime-Error wenn aktiv
end;
end;
psl._Release; // ---> Runtime-Error wenn aktiv
end;
//Aufruf:
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.
Dieser Code wurde hier von FuckRacism veröffentlicht, stammt jedoch ursprünglich von Delphi-Treff.
[edit=Chakotay1308]Mfg, Chakotay1308[/edit]
[edit=sakura] uses hinzugefügt. Mfg, sakura[/edit]
|
|
Zitat
|