Ez az egyszerű példaprogram bemutatja, hogy hogyan lehet új parancsikont létrehozni
Windows 95/98/NT alatt az Asztalon illetve a StartMenüben.

Egy új alkalmazásban helyezz egy TButton-t (Button1) a Form-ra. 
Kattints rá duplán erre a gombra, majd cseréld le az Unit1 kódját az alul található kódra.

Ez a program a gomb megnyomására létrehoz egy új parancsikont az 
Asztalon és/vagy a StartMenüben. A parancsikonnak 'FooBar' lesz a neve és megnyitja 
az AUTOEXEC.BAT-ot a JEGYZETTÖMB-ben (Notepad), ha meghívják.

(A program a 'Software\MicroSoft\Windows\CurrentVersion\Explorer\Shell Folders') 
(HKEY_CURRENT_USER) registry kulcs 'Desktop' és 'Start Menu' értékeit használja.)

{---------------------------}
{ Parancsikon létrehozása }
{---------------------------}

unit Unit1;
interface
uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls;
type
   TForm1 = class(TForm)
     Button1: TButton;
     procedure Button1Click(Sender: TObject);
   private
     { Private declarations }
   public
     { Public declarations }
   end;
var
   Form1: TForm1;

implementation

{$R *.DFM}

uses ShlObj, ActiveX, ComObj, Registry;

procedure TForm1.Button1Click(Sender: TObject);
var    MyObject : IUnknown;
   MySLink : IShellLink;
   MyPFile : IPersistFile;
   FileName : String;
   Directory : String;
   WFileName : WideString;
   MyReg : TRegIniFile;
begin
   MyObject := CreateComObject(CLSID_ShellLink);
   MySLink := MyObject as IShellLink;
   MyPFile := MyObject as IPersistFile;
   FileName := 'NOTEPAD.EXE';
   with MySLink do begin
   SetArguments('C:\AUTOEXEC.BAT');
   SetPath(PChar(FileName));
   SetWorkingDirectory(PChar(ExtractFilePath(FileName)));
   end;
   MyReg := TRegIniFile.Create(
   'Software\MicroSoft\Windows\CurrentVersion\Explorer');
// Használd a következő sort, ha az Asztalra akarod a
// parancsikont létrehozni
   Directory := MyReg.ReadString('Shell Folders','Desktop','');
// Használd a következő három sort, ha a StartMenübe akarod
// az új parancsikont létrehozni
// Directory := MyReg.ReadString('Shell Folders','Start Menu','')+
// '\Whoa!';
// CreateDir(Directory); 
   WFileName := Directory+'\FooBar.lnk';
   MyPFile.Save(PWChar(WFileName),False);
   MyReg.Free;
end;
end.