用delphi创建桌面快捷方式

有许多程序在首次安装或运行的时候都会自动地子桌面上创建
个快捷方式图标。但是这个自动创建桌面快捷方式的在程序中是如
何实现的呢?众所周知 在windows中要给应用程序创建一个快捷方
式 只需要你右键单击 其应用程序的图标 然后 点击创建快捷方式
,将其快捷方式 复制到桌面上就可以了。但是在程序中用代码实现
这个功能就没有那么容易了。在delphi中是如何实现这个功能呢?
  在delphi中API函数为我们提供了一个叫做IShellLink的COM接口
允许我们创建快捷方式。为在桌面创建快捷方式,我们先创建一个
IShellLink对象,设置它的属性,然后把这个link保存到desktop
目录就行了。具体代码如下:首先我们创建一个过程,然后只需要
在Formcreate事件里调用这个函数就可以了
  procedure CreateUlr;
  ...............................
procedure TFrmMain.CreateUlr; 
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('软件描述');//这个描述就是 当你单击右键
                                    察看备注里的内容
 Reg := TRegIniFile.Create('Software/MicroSoft/Windows/
        CurrentVersion/Explorer');
 WFileName := Reg.ReadString('Shell Folders', 'Desktop', '') +
                '' + '软件名称' + '.lnk';
 Reg.Free;
 PFile.Save(PWChar(WFileName), False);
end;
  因为要调用Api函数而且还涉及到注册表编成 ,所以还要引用 如下单元
  ‘shlObj’‘comObj’‘ActiveX’‘Registry’....
                                                 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值