当前位置: 首页 > 技术文档 > 正文

uses 中加入 “Registry,ComObj,ActiveX,ShlObj”: 调用方法: MakeLi […]

uses 中加入 “Registry,ComObj,ActiveX,ShlObj”:

procedure MakeLink(proName,lnkName,Description,position:String);
var
WorkDir,DestName:String;
aReg:TRegistry;
aObj:IUnknown;
MyLink:IShellLink;
MyPFile:IPersistFile;
WFileName:WideString;
begin
//操作注册表:
//键 ‘Software\Microsoft\Windows\CurrentVersion\Explorer\Shell   Folders ‘
//下的Programs串值指定了Windows启动目录的位置.
aReg:=TRegistry.create;
aReg.RootKey:=HKey_Current_User;
aReg.OpenKey( 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders',False);
DestName:=aReg.ReadString(position)+ '\'+lnkName;
aReg.Closekey;
aObj:=CreateComObject(CLSID_ShellLink);
MyLink:=aObj as IShellLink;
MyPFile:=aObj as IPersistFile;
WorkDir:=ExtractFilePath(proName);
with MyLink do   //操作IShellLink类
begin//设置显示窗口的类型
SetShowCmd(SW_NORMAL);//设置命令行参数
SetArguments('');//设置描述
SetDescription(pChar(Description));//设置程序名称[全路径,如果在系统Path中,可直接为程文件名]
SetPath(pChar(proName));//   设置工作目录
SetWorkingDirectory(pChar(WorkDir));
end;//取.LNK文件的位置
CreateDir(ExtractFilePath(DestName));//建立快捷方式:   .LNK文件
WFileName:=DestName; //将一个String赋给WideString,转换过程由Delphi自动完成
MyPFile.Save(PWChar(WFileName),False);
end;

调用方法:

MakeLink(Application.ExeName, '测试.lnk', 'fdsfa', 'DeskTop');

MakeLink(Application.ExeName, ‘快捷方式名称.lnk’, ‘备注信息’, ‘DeskTop’);

本文固定链接: https://blog.meyisi.cn/jishu/49.html | 么意思博客
标签:

delphi 创建桌面快捷方式函数:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter