zoukankan      html  css  js  c++  java
  • registry 为程序创建快捷方式

    功能说明:为程序创建快捷方式 
    uses registry,ActiveX,Comobj,Shlobj;

    const
      IID_IPersistFile: TGUID=
      (D1:$0000010B;D2:$0000;D3:$0000;D4:($C0,$00,$00,$00,$00,$00,$00,$46));
    function GetShellFolder (constfolder:string):string;
    const
      cWin32='SOFTWARE\Microsoft\Windows\CurrentVersion';
      cSHellPrefix='\Explorer\Shell Folders';
    var
      r:TRegistry;
    begin
      Result:='';
      r:=TRegistry.Create;
     //创建对象
      try
        r.Rootkey:=HKEY_CURRENT_USER;
        //只要是Windows95及其以后版本,此处都一样
        ifr.OpenKey (cWin32+cShellPrefix, False)then
        //打开键,开始读取
         Result:=r.ReadString (folder)+'\';
      finally
        r.Free;
       //释放创建的对象
      end;
    end;

    function CreateLink(aPathObj,aPathLink,aDesc:string): boolean;
    var
      sLink: IShellLink;
      PersFile: IPersistFile;
    begin
      Result:=false;
      ifSUCCEEDED(CoCreateInstance(CLSID_ShellLink,nil,
                   CLSCTX_INPROC_SERVER, IID_IShellLinkA, sLink))then
     //创建接口实例成功
      begin
        sLink.SetPath(PChar(aPathObj));
      //设置要创建快捷方式的程序路径及其文件名
        sLink.SetDescription(PChar(aDesc));
        //设置对快捷方式的描述信息
        if SUCCEEDED(sLink.QueryInterface(IID_IPersistFile,PersFile))then
        //查询接口成功
        begin
          PersFile.Save(StringToOLEStr(aPathLink),TRUE);
          //保存快捷方式
          Result:=true;
        end;
      end;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if not CreateLink(Application.ExeName,
                        GetShellFolder('Desktop')+'mylink.lnk','我的快捷方式')then
     //调用GetShellFolder获取系统桌面文件夹路径
      begin
        Showmessage('创建快捷方式失败');
      end;
    end;




  • 相关阅读:
    结对编程项目作业2-结对编项目设计文档
    20170914-构建之法:现代软件工程-阅读笔记
    课后作业-阅读任务-阅读提问-1
    GIT 的使用方法
    团队-井字棋-需求分析
    结对-贪吃蛇-需求分析
    python_基础_0
    Unix_07_文件系统高级操作_2
    Unix_06_文件系统高级操作_1
    Unix_05_文件系统高级操作_0
  • 原文地址:https://www.cnblogs.com/xe2011/p/2531631.html
Copyright © 2011-2022 走看看