注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

鑫淼梦园的博客

圆你的梦想 从这里开始

 
 
 

日志

 
 

delphi 桌面建立程序快捷方式  

2014-08-25 07:44:16|  分类: Delphi xe6 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

//桌面建立程序快捷方式
//uses
//  ComObj, ActiveX, ShlObj, Registry;                      cbDesktop

procedure TForm1.ProgramLink(programName: String; fileDir, Desktop, StartMenu: boolean);
var
  AnObj: IUnknown;
  ShLink: IShellLink;
  PFile: IPersistFile;
  FileName: string;
  WFileName: WideString;
  Reg: TRegIniFile;
begin

  // 访问对象的两个接口
  AnObj := CreateComObject(CLSID_ShellLink);
  ShLink := AnObj as IShellLink;
  PFile := AnObj as IPersistFile;
  // 得到执行程序的完整路径及文件名
  FileName := ExtractFilePath(Application.ExeName) + curshequcom.Text + '\' + programName;
  // 设置连接的方式属性
  ShLink.SetPath(PChar(FileName));
  ShLink.SetWorkingDirectory(PChar(ExtractFilePath(FileName)));

  // 存放于当前文件夹
  if fileDir then
  begin
    // 长字符串
    WFileName := ExtractFilePath(FileName) + extractFilename(FileName) + '.lnk';
    PFile.Save(PWChar(WFileName), False);
  end;

  // 存放于桌面上
  if Desktop then
  begin
    Reg := TRegIniFile.Create('Software\MicroSoft\Windows\CurrentVersion\Explorer');
    WFileName := Reg.ReadString ('Shell Folders', 'Desktop', '') + '\' + extractFilename(FileName)+ '.lnk';
    Reg.Free;
    PFile.Save(PWChar(WFileName), False);
  end;

  // 存在开始菜单内
  if StartMenu then
  begin
    Reg := TRegIniFile.Create('Software\MicroSoft\Windows\CurrentVersion\Explorer');
    WFileName := Reg.ReadString('Shell Folders', 'Start Menu', '') + '\' + extractFilename(FileName) + '.lnk';
    Reg.Free;
    PFile.Save(PWChar(WFileName), False);
  end;
{
我用这段代码在桌面建立了快捷方式,但快捷方式的名称只能是该应用程序的名字
我想加一个中文名字,并带参数,不知道如何实现.虽然可以将程序名称改为中文名,但对于已有的程序,
却是不能改的,如AutoCAD,它的程序名是acad.exe,改名后就不能执行了,当然它有自己的快捷方式,
但我要在它的后面加参数(手工好加),但用上面的代码不知怎样实现?特请教各位大侠!
}
end;

  评论这张
 
阅读(240)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017