Hallo,
ich hab ständig rumprobiert und es hat alles nichts gebracht.
Jetzt versuche ich es über den Autostartordner mit dieser Funktion:
Delphi-Quellcode:
uses activeX,comobj,shlobj;
const
IID_IPersistFile: TGUID = (D1:$0000010B;D2:$0000;D3:$0000;D4:($C0,$00,$00,$00,$00,$00,$00,$46));
function CreateLink(PathObj,PathLink,Desc,Workdir:
string):Boolean;
var psl : IShellLink;
ppf : IPersistFile;
begin
result := False;
if SUCCEEDED(CoCreateInstance(CLSID_ShellLink,
nil, CLSCTX_INPROC_SERVER, IID_IShellLinkA, psl))
then begin
psl.SetPath(PChar(PathObj));
psl.SetDescription(PChar(Desc));
psl.SetWorkingDirectory(PChar(workdir));
if SUCCEEDED(psl.QueryInterface(IID_IPersistFile,ppf))
then begin
ppf.Save(StringToOLEStr(PathLink),TRUE);
Result := true;
end;
end;
end;
Doch auch hier gibt es wieder Probleme. Zwar wird eine Datei erstellt (ich übergebe Pathlink den Namen der Verknüpfung
'Name des Programms.ink'), doch es wird keine Verknüpfung, sondern eine .ink-Datei, bei der ich dann gefragt werde, mit welchem Programm ich sie öffnen will.
[/quote][/delphi]