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;




  • 相关阅读:
    产生随机不重复ID
    .NET 中使用 SQlite 数据库_1.新数据库的创建
    WCF 服务IIS部署 SvcUtil.exe 工具文件地址 及 生成代理类命令
    查看进程占用各字段含义
    内存溢出
    Python 正则表达式使用问题集锦
    Ninja编译过程分析
    git 命令使用集锦
    使用aapt查看当前apk的属性
    Android PowerManager电源管理(Android N )
  • 原文地址:https://www.cnblogs.com/xe2011/p/2531631.html
Copyright © 2011-2022 走看看