delphi 创建桌面快捷方式

unit UShorCut;

interface
   uses Windows,  Classes, SysUtils,Dialogs, ShlObj, ComObj, ActiveX, Registry;
   procedure CreateUlr(ExeName,Description,FileName:string);
implementation
   procedure CreateUlr(ExeName,Description,FileName:string);
var
  ShLink: IShellLink;
  PFile: IPersistFile;
  //FileName: string;
  WFileName: WideString;
  Reg: TRegIniFile;
  AnObj: IUnknown;
begin
  AnObj := CreateComObject(CLSID_ShellLink); //快捷方式的初始化
  ShLink := AnObj as IShellLink;
  PFile := AnObj as IPersistFile;
  //FileName := ParamStr(0);
  ShLink.SetPath(PChar(FileName));
  ShLink.SetWorkingDirectory(PChar(ExtractFilePath(FileName)));
  ShLink.SetDescription(PChar(Description));//('软件作者:***'+#13#10+'    公司:***'+#13#10+'    版本:V1.0.0.0');
  Reg := TRegIniFile.Create('SoftwareMicroSoftWindowsCurrentVersionExplorer');
  WFileName := Reg.ReadString('Shell Folders', 'Desktop', '') + '' + ExeName + '.lnk';
  Reg.Free;
  PFile.Save(PWChar(WFileName), False);
  Reg := TRegIniFile.Create('SoftwareMicroSoftWindowsCurrentVersionExplorer');
  WFileName := Reg.ReadString('Shell Folders', 'Start Menu', '') + '' + ExeName + '.lnk';
  Reg.Free;
  PFile.Save(PWChar(WFileName), False);
end;
end.
原文地址:https://www.cnblogs.com/blogpro/p/11339047.html