![]() |
Verknüpfung auf dem Desktop?
Hallo,
meine Anwendung ist nun so gut wie fertig. Habe mir noch ein eigenes Setup zusammen geschoben (sprich das entpacken von CD auf die Festplatte). Was mir zu meinen Glück noch fehlt, ist eine Verknüpfung auf dem Desktop. Eines vorweg. Eine Verknüpfung konnte ich schon erfolgreich in jeden beliebigen ("normalen") Ordner erstellen.
Delphi-Quellcode:
Jetzt meine Frage: Was muß ich in meinen Aufruf ändern, damit die Verknüpfung nicht im Install-Verzeichnis(C:\Test2) landet, sondern auf dem Desktop?
uses ShlOBJ, ActiveX, ComObj;
function CreateLink(Source,Target,Beschreibung: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(Source)); psl.SetDescription(PChar(Beschreibung)); if SUCCEEDED(psl.QueryInterface(IID_IPersistFile,ppf)) then begin ppf.Save(StringToOLEStr(Target),TRUE); Result := true; end; end; end; procedure TStart.Button2Click(Sender: TObject); begin CreateLink('C:\Test2\Project.exe','C:\Test2\Project.lnk','Project'); end; end. Danke im voraus. |
Re: Verknüpfung auf dem Desktop?
hi,
mit ShGetFolderPath() und CSIDL_DESKTOPDIRECTORY kannst du dir den pfad zum desktop holen und damit dann einfach den link erstellen |
Re: Verknüpfung auf dem Desktop?
Hallo Fritz the Cat,
Warum erstellst du die Frage in zwei Foren und erwaehnst es nicht mal? ![]() Ich glaube ich muss jetzt nicht mehr erwaehnen, dass du "drueben" genug Tipps bekommen hast :roll: Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 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