rss LEGFRISSEBB TÉMÁK Csatlakozz új fórumunkhoz...

Asztali parancsikon létrehozása

Delphi programozási fórum.
kalmann
Hozzászólások: 2
Csatlakozott: 2016.09.27. 09:55

Asztali parancsikon létrehozása

HozzászólásSzerző: kalmann » 2016.10.15. 10:13

Asztali parancsikon létrehozása Delphi programból miként lehetséges? (D7)
Tisztelettel, kalmann

gaborg
Hozzászólások: 18
Csatlakozott: 2016.08.04. 01:23

Re: Asztali parancsikon létrehozása

HozzászólásSzerző: gaborg » 2016.10.15. 12:15

Kód: Egész kijelölése

procedure desktopIcon(ffilename, pparam:string; fcaption: widestring);
var
   IObject : IUnknown;
   ISLink : IShellLink;
   IPFile : IPersistFile;
   PIDL : PItemIDList;
   InFolder : array[0..MAX_PATH] of Char;
   TargetName : String;
   LinkName : WideString;
   FLinkName : String;
begin
   TargetName := ffilename;

   IObject := CreateComObject(CLSID_ShellLink);
   ISLink := IObject as IShellLink;
   IPFile := IObject as IPersistFile;

   with ISLink do begin
      SetIconLocation(pChar(TargetName),0);
      SetArguments(pChar(pparam));
      SetPath(Pchar(TargetName));
      SetWorkingDirectory(Pchar(ExtractFilePath(TargetName)));
   end;

// asztalra helyezés
   SHGetSpecialFolderLocation(0, CSIDL_DESKTOPDIRECTORY, PIDL);
   SHGetPathFromIDList(PIDL, InFolder);

   FlinkName := '\'+ fcaption + '.lnk';

   LinkName := InFolder + FlinkName;
   IPFile.Save(PWChar(LinkName), false);
end;


Használata:
desktopIcon('C:/programok/program.exe','','Program');

A függvény paraméterei:

ffilename: file útvonala
pparam: indítási paraméter (pl: programok.exe a=1)
fcaption: parancsikon neve
Üdv.: gaborg


Vissza: “Delphi”