Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Parameter einer Verknüpfung bestimmen (https://www.delphipraxis.net/43841-parameter-einer-verknuepfung-bestimmen.html)

blackfoxx 9. Apr 2005 13:40


Parameter einer Verknüpfung bestimmen
 
Hi Leute!

Ich habe hiermit...
Delphi-Quellcode:
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;


CreateLink('Datei.exe','Verknüpfung.lnk','Kommentar') ;
erfolgreich eine Verknüpfung erstellt.
Nun möchte ich aber, dass das angegebene Programm mit einem bestimmten Parameter gestartet wird.
Die Frage. Wi bekomme ich diesen Parametr hinter den Pfad meiner auszuführenden Datei bzw. Wie kann ich das beim Erstellen der Verknüpfung beeinflussen?

Danke schonmal.

Grüße BF

SirThornberry 9. Apr 2005 13:45

Re: Parameter einer Verknüpfung bestimmen
 
schreib doch die parameter einfach mit hinter "Datei.exe".
Also so
Delphi-Quellcode:
CreateLink('Datei.exe parameter','Verknüpfung.lnk','Kommentar');
denn letztendlich wird die funktion nix anderes machen als die parameter an den passenden stellen der verknüpfungsdatei einzufügen

MosiXXL 9. Apr 2005 13:48

Re: Parameter einer Verknüpfung bestimmen
 
psl.SetArguments('Parameter');

blackfoxx 9. Apr 2005 13:49

Re: Parameter einer Verknüpfung bestimmen
 
Das Problem ist, dass dann in meiner Verknüpfung als Ziel "C:\Datei.bla Parameter" steht.
Um als Parametr erkannt zu werden muss der Wert aber hinter den Quotes stehen. Also: "C:\Datei.bla" Parameter.
Im ersten Fall sucht er nämlich die Datei: Datei.bla Parameter. und die gibt es ja nihct sonder nur die Datei: Datei.bla.

MathiasSimmack 9. Apr 2005 13:49

Re: Parameter einer Verknüpfung bestimmen
 
Nope! Mit "SetArguments" gibt es eine Möglichkeit, Parameter für einen solchen MSDN-Library durchsuchenIShellLink festzulegen. Ohne neue Stringvariable im Funktionskopf wird´s also vermutlich nicht gehen. ;)

blackfoxx 9. Apr 2005 13:53

Re: Parameter einer Verknüpfung bestimmen
 
Also hab die String-Variable in der Deklaration natürlich hinzugefügt und so funzt es wunderbar.
Thx MosiXXL.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz