menu

秋梦无痕

一场秋雨无梦痕,春夜清风冻煞人。冬来冷水寒似铁,夏至京北蟑满城。

Avatar

创建快捷方式

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接口来操纵系统处理这件事情.

评论已关闭