Einzelnen Beitrag anzeigen

MCXSC
(Gast)

n/a Beiträge
 
#1

Verknüpfung zum eigenen Programm mit Paramentern

  Alt 4. Feb 2007, 14:54
Hallo!

Ich habe folgendes Problem:

Ich habe einen SvaeDialog, in dem der User einen Dateinamen angeben kann. Nun wird dementsprechend eine Verknüpfung zu meinem Programm erstellt...

Delphi-Quellcode:
function CreateLink(const AFilename, ALNKFilename, ADescription: String) : Boolean;
var
psl: IShellLink;
ppf: IPersistFile;
wsz: PWideChar;
begin
result := false;
if SUCCEEDED(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_inPROC_SERVER, IID_IShellLinkA, psl)) then begin
psl.SetPath(PChar(AFilename));
psl.SetDescription(PChar(ADescription));
psl.SetWorkingDirectory(PChar(ExtractFilePath(AFilename)));
if SUCCEEDED(psl.QueryInterface(IPersistFile, ppf)) then begin
GetMem(wsz, MAX_PATH * 2);
try
MultiByteToWideChar(CP_ACP, 0, PChar(ALNKFilename), -1, wsz, MAX_PATH);
ppf.Save(wsz, true);
result := true;
finally FreeMem(wsz, MAX_PATH * 2);
end;
end;
end;
end;
Das ist die Funktion und das ist der Aufruf:

if dialog_verknuepfung.Execute then CreateLink(Application.ExeName + ' parameter', dialog_verknuepfung.FileName, dialog_verknuepfung.FileName); Funktioniert auch, nur dass der Link dann auf folgendes Ziel verweist:

"Pfad+Exe parameter"

Somit findet Windoof des natürlich nicht...

Weiß jemand, wie ich die Verknüpfung samt Parameter korrekt erstellen kann? Ich hab nirgends was brauchbares dazu gefunden...

MCXSC
  Mit Zitat antworten Zitat