注册快捷方式

2016-02-19 13:20 5 1 收藏

今天图老师小编给大家展示的是注册快捷方式,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.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 + 'MicrosoftInternet ExplorerQuick 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);

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  end;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  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;
  

来源:http://www.tulaoshi.com/n/20160219/1603892.html

延伸阅读
Windows 7安装字体快捷方式 双击需要安装的字体,勾中Use shortcut、再Install即可。 在Control PanelAll Control Panel ItemsFonts的右侧,选择Font settings,勾中Allow fonts to be installed using a shortcut(advanced) 图片1 安装字体:双击需要安装的字体,勾中Use shortcut、再Install即可。 图片2 ...
标签: 电脑入门
据新华社天津3月31日电 近日,大量用户反映电脑出现桌面快捷方式打不开等症状。金山反病毒专家分析发现,此类问题都是由于IE篡改类木马所致,提醒用户小心谨防。 据金山毒霸安全实验室最新数据显示,从2009年4月开始,修改主页、锁定主页的病毒木马增速明显。到2010年3月,通过挂马传播的木马数量 在整体木马传播量中的比例下降到了20%以下,...
标签: 电脑入门
在Windows系统中新建快捷方式时,在图标上会出现一个小箭头,着实影响桌面的美观,那么有没有办法去除快捷方式小箭头呢?实际上有两种方法,仅仅简单的几个步骤即可去掉快捷方式小箭头; 第一种方法: 在桌面空白的地方点击鼠标右键选择新建,点击新建文本文档输 入reg delete HKcrLnkfile /v IsShortcut /f (红色部分,不含引号)点击另存为...
  //根据zswang和"超级猛料"部分函数改编 //比放到注册表里麻烦多了 function GetSpecialFolderDir(const folderid:integer): String; var   pidl: pItemIDList;   buffer: array[0..255] of char; begin //取指定的文件夹项目表 //CSIDL_STARTUP:启动   SHGetSpecialFolderLocat...
标签: 电脑入门
使用键盘操作桌面系统的其中一个明显的好处就是能够通过不同的快捷键来提高效率,比如右击选择复制的操作一个Ctrl+C就轻松完成了。那么在Win8中又有哪些快捷键被挖掘出来呢?本期的《Win8大百科》我们就将介绍一些常用的Win8快捷键。 常规快捷键操作 首先是一些最常用到的键盘快捷键,这些组合键有些我们已经非常熟悉,而有些还并不引人...

经验教程

508

收藏

10
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部