创建快捷方式
from: http://www.delfan.com/language/delphi/self/createlink.html
如何在"开始菜单"上增加一个指向我们程序的快捷方式(.lnk文件)
uses ShellApi,comObj,ActiveX,shlobj,FileCtrl;
procedure CreateLinkFile(Groupname,ProgramName : String);//ProgramName 是全路径
var
sl : iShellLink; // 使用iShellLink接口
pf : Ipersistfile;
lnkname : widestring;
paht : pchar;
spath : String;
begin
getMem(path,1024);
SHGetSpecialFolderPath(handle,path,CSIDL_PROGRAMS,true);
Spath := strpas(path);
freemem(path);
spath := spath + '\'+groupname;
ForceDirectories(spath); // 创建目录,此函数为Delphi自带,在FileCtrl单元中定义
OleCheck(CoCreateInstance(CLSID_SHELLLINK,nil,clsctx_inproc_server,iShellLink,sl));
pf := sl as ipersistfile;
olecheck(sl.setpath(pchar(programName)));
lnkname := spath+'\'+ChangeFileExt(ExtractFileName(MainName),'.lnk');
pf.save(pwidechar(lnkname),true);
end;
说明:其实创建快捷方式的操作属于Windows中的Shell编程.所以我们可以通过iShellLink接口来操纵系统处理这件事情.