delphi建立快捷方式

unit   uSC;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Classes,   Graphics,   Controls,   Forms,   Dialogs,  
      StdCtrls,   ComObj,   ActiveX,   ShlObj,   Registry;  
   
  type  
      TForm1   =   class(TForm)  
          Label1:   TLabel;  
          Edit1:   TEdit;  
          CheckBox1:   TCheckBox;  
          CheckBox2:   TCheckBox;  
          CheckBox3:   TCheckBox;  
          Button1:   TButton;  
          procedure   Button1Click(Sender:   TObject);  
      private  
          {   Private   declarations   }  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form1:   TForm1;  
   
  implementation  
   
  {$R   *.DFM}  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
      AnObj:   IUnknown;  
      ShLink:   IShellLink;  
      PFile:   IPersistFile;  
      FileName:   string;  
      WFileName:   WideString;  
      Reg:   TRegIniFile;  
  begin  
      AnObj   :=   CreateComObject(CLSID_ShellLink);  
      ShLink   :=   AnObj   as   IShellLink;  
      //or   'ShLink   :=   CreatComObject(CLSID_ShellLink)   as   IShellLink;'  
      PFile   :=   AnObj   as   IPersistFile;  
   
      FileName   :=   ParamStr(0);  
      ShLink.SetPath(PChar(FileName));  
      ShLink.SetWorkingDirectory(PChar(ExtractFilePath(FileName)));  
   
      if   CheckBox1.Checked   then  
      begin  
          WFileName   :=   ExtractFilePath(FileName)   +   Edit1.Text   +   '.lnk';  
          PFile.Save(PWChar(WFileName),   false);  
      end;  
   
      if   CheckBox2.Checked   then  
      begin  
          Reg   :=   TRegIniFile.Create('Software/Microsoft/Windows/CurrentVersion/Explorer');  
          WFileName   :=   Reg.ReadString('Shell   Folders',   'Desktop',   'not   find')  
              +   '/'   +   Edit1.Text   +   '.lnk';  
          Reg.Free;  
          PFile.Save(PWChar(WFileName),   false);  
      end;  
   
      if   CheckBox3.Checked   then  
      begin  
          Reg   :=   TRegIniFile.Create('Software/Microsoft/Windows/CurrentVersion/Explorer');  
          WFileName   :=   Reg.ReadString('Shell   Folders',   'Start   Menu',   '')  
              +   '/'   +   Edit1.Text   +   '.lnk';  
          Reg.Free;  
          PFile.Save(PWChar(WFileName),   false);  
      end;  
  end;  
   
  end.  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值