1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Shlobj, ActiveX, ComObj;
procedure CreateShortCut(const szNomRaccourci, szApplication, szParametres, szRepertoireDeTravail: String; nModeAffichage: Integer; nToucheRaccourci: Word; szFichierIcone: String; nIndexIcone: Byte; szDescription: String);
var
SCObject: IUnknown;
SCSLink: IShellLink;
SCPFile: IPersistFile;
WFName: WideString;
begin
SCObject := CreateComObject(CLSID_ShellLink);
SCSLink := SCObject as IShellLink;
SCPFile := SCObject as IPersistFile;
SCSLink.SetPath(PChar(szApplication));
SCSLink.SetArguments(PChar(szParametres));
SCSLink.SetWorkingDirectory(PChar(szRepertoireDeTravail));
SCSLink.SetShowCmd(nModeAffichage);
// SCSLink.SetHotkey(nToucheRaccourci);
SCSLink.SetIconLocation(PChar(szFichierIcone), nIndexIcone);
SCSLink.SetDescription(PChar(szDescription));
WFName := szNomRaccourci;
SCPFile.Save(PWChar(WFName), False);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin //SW_SHOWMAXIMIZED
CreateShortCut('Test.lnk', Application.ExeName, '56', ExtractFilePath(Application.ExeName), SW_SHOWNORMAL, 65, 'D:\Projets Delphi\Images\icone.ico', 0, 'Description du raccourci !');
end; |
Partager