• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
教你如何用Delphi注册快捷方式
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
教你如何用Delphi注册快捷方式
软件发布 教你如何用Delphi注册快捷方式
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 编程技术 >> Delphi教程 >> 教你如何用Delphi注册快捷方式

教你如何用Delphi注册快捷方式

添加时间: 2006-2-25 5:30:19  作者: Delphi教程  阅读次数:56   来源: http://www.d9soft.com

       

  这里我们用到了com对象,我要解释一下。com(compent  object model)其实是microsoft提出的组件标准,它定义了组件和应用程序之间进行通信的标准,同时提供了组件程序运行时所需要的环境。这是书上讲的,现在我用口头语客串几句。Com可以用不同的语言编可以实现通信的效果,可以把它们看成一些二进制的可执行程序。下面就是注册快捷方式:


 


  type
  ShortcutType = (ST_DESKTOP, ST_SENDTO, ST_QUICKLAUNCH, ST_STARTMENU);//定义一个数据类型

  procedure CreateShortcut(FileName :string; Description :string;
  arguements :string; Location :ShortcutType);
  var
  cObj :IUnknown;
  sLink :IShellLink;
  pFile :IPersistFile;
  sDir :string;
  lName :string;
  spath :string;
  wFileName :WideString;
  mReg :TRegistry;
  key :string;
  tmp :string;
  begin
  cObj :=CreateComObject(CLSID_ShellLink); //创建COM对象
  sLink :=cObj as IShellLink; //COM对象转化为IShellLink型接口
  pFile :=cObj as IPersistFile; //COM对象转化为IPersistFile型接口

  //获取路径
  sPath :=ExtractFilePath(FileName);
  with sLink do begin
  SetPath(PChar(FileName)); //设置执行文件名
  SetArguments(PChar(arguements)); //设置执行参数
  SetDescription(Pchar(Description)); //设置描述信息
  SetWorkingDirectory(PChar(sPath)); //设置工作路径,即执行程序所在目录
  end;

  //获取各快捷方式的实际目录
  mReg :=TRegistry.Create;
  with mReg do begin
  RootKey :=HKEY_CURRENT_USER;

  key :=REGSTR_PATH_EXPLORER; //Delphi在单元RegStr中定义的常量
  tmp :=key + '\Shell Folders';

 


  OpenKey(tmp, false);
  case Location of
  ST_DESKTOP: sDir :=ReadString('Desktop');
  ST_SENDTO: sDir :=ReadString('SendTo');
  ST_STARTMENU: sDir :=ReadString('Start Menu');
  ST_QUICKLAUNCH:
  begin
  sDir :=ReadString('AppData');
  sDir :=sDir + '\Microsoft\Internet Explorer\Quick Launch';
  end;
  end;

  //生成快捷方式文件名
  lName :=ChangeFileExt(FileName, '.Lnk');
  lName :=ExtractFileName(lName);
  if sDir<>'' then
  begin
  //生成快捷方式全路径名
  wFileName :=sDir + '\' + lName;
  //保存生成的快捷方式文件
  pFile.Save(PWChar(wFileName), false);
  end;

  Free;
  end;
  end;
  上面声明了一个过程
  下面应用它
  var
  fName :string;
  fDesc :string;
  fArgu :string;
  begin
  fName :=Application.ExeName;
  fDesc :='Delphi 7.0 创建的快捷方式--桌面';
  fArgu :='无参数';
  CreateShortcut(fName,fDesc,fArgu, ST_DESKTOP);
  end;
  procedure TForm1.SpeedButton2Click(Sender: TObject);
  var
  fName :string;
  fDesc :string;
  fArgu :string;



  begin
  fName :=Application.ExeName;
  fDesc :='Delphi 7.0 创建的快捷方式--发送到。。。';
  fArgu :='无参数';
  CreateShortcut(fName,fDesc,fArgu, ST_SENDTO);
  end;

  procedure TForm1.SpeedButton3Click(Sender: TObject);
  var
  fName :string;
  fDesc :string;
  fArgu :string;
  begin
  fName :=Application.ExeName;
  fDesc :='Delphi 7.0 创建的快捷方式--开始菜单';
  fArgu :='无参数';
  CreateShortcut(fName,fDesc,fArgu, ST_STARTMENU);

  end;

  procedure TForm1.SpeedButton4Click(Sender: TObject);
  var
  fName :string;
  fDesc :string;
  fArgu :string;
  begin
  fName :=Application.ExeName;
  fDesc :='Delphi 7.0 创建的快捷方式--快速启动';
  fArgu :='无参数';
  CreateShortcut(fName,fDesc,fArgu, ST_QUICKLAUNCH);
  end;

  procedure TForm1.SpeedButton5Click(Sender: TObject);
  var
  sName :string;
  sAddress :string;
  begin
  sName :='P哥网';
  sAddress :='http://www.pggpjj.com';
  CreateInternetShortcut(sName, sAddress);
  end;


 

 

上下文章:

 

上一篇文章: 用注册表对delphi程序加密 下一篇文章: Delphi:Daily build实践

相关文章:

  • 教你如何用零框架技术加密网页
  • PS教程:看看如何用Photoshop把照片演变成水墨画
  • Photoshop教程:教你如何创出发丝的炫彩莹亮效果
  • vista隐蔽的注册表垃圾清理方法
  • 魔兽世界:如何更大限度的利用奥冲循环

相关软件:

  • Sundy注册表监控 V2.86 绿色版
  • 域名注册搜索专家 2.5
  • All AHM Triton Tools 2002 Borland Delphi V7.0
  • 佐尔表达式控件 For DELPHI 7.0 V3.1.12
  • Delphi Project Launcher V1.5
  • windows XP 注册表优化文件reg下载

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • Delphi的两个实用技巧(1)播放Flash
  • Delphi的两个实用技巧(2)巧用Wind...
  • delphi实例编程之--制作可随处拖放...
  • 关于VisiBroker For Delphi的使用...
  • 关于VisiBroker For Delphi的使用...
  • 关于VisiBroker For Delphi的使用...
  • 在线播放器DIY
  • Delphi让你发送Flash电子邮件
  • 在窗口标题区添加按钮
  • 用Delphi 6编程实现自动标注汉语拼...

Delphi教程阅读排行

  • Delphi7从入门到精通之历数Delphi...
  • Delphi的两个实用技巧(1)播放Flash
  • Delphi7从入门到精通之认识Delphi...
  • delphi实例编程之--制作可随处拖放...
  • Delphi控件,我们也可以(1)
  • Delphi的两个实用技巧(2)巧用Wind...
  • 在线播放器DIY
  • Delphi控件,我们也可以(2)
  • Spcomm串口控件的例程
  • 用Delphi + DirectX开发简单RPG游...

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • 第二章 PowerBuilder 入门之创建新...
  • VC++之List Box/Check List Box控...
  • 第一章 什么是PowerBuilder
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有