⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.~pas

📁 右键注册程序delphi源码 可自由添加右键菜单
💻 ~PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons,Registry;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    GroupBox2: TGroupBox;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Button3: TButton;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    OpenDialog1: TOpenDialog;
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  ARegistry:TRegistry;//声明一个Tregistry对象
begin
  //先开始写显示用户信息
  ARegistry:=TRegistry.Create;
  with ARegistry do
  begin
     RootKey:=HKEY_LOCAL_MACHINE; //指定根键
     if OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion',false) then //打开主键
        begin
           //开始读取信息了
           Edit1.Text:=CurrentPath;  //这个是当前的注册表路径
           edit2.Text:=ReadString('ProductId');
           Edit3.Text:=ReadString('ProductName');
           Edit4.Text:=ReadString('RegisteredOrganization');
           Edit5.Text:=ReadString('RegisteredOwner');
           Edit6.Text:=ReadString('SoftwareType');
           //全部写好了,现在我们要关闭注册表
           CloseKey;
           Free;
           //运行一下看看。   OK显示出来了。下面我们开始写注册程序

        end;
  end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
    //添加代码如下
    if opendialog1.Execute then
       Edit9.Text:=Opendialog1.FileName;
    //好了运行看一下。
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  Reg:TRegistry;//声明对象
begin
   //下面是判断是不是输入空值
   if (trim(edit7.Text)='')or(trim(edit8.Text)='')or (trim(edit9.Text)='')then
      begin
        Showmessage('输入不能为空');
        edit7.SelectAll;
        edit7.SetFocus;
        exit;
     end;
     Reg:=TRegistry.Create;
     try
       Reg.RootKey:=HKEY_CLASSES_ROOT;
       Reg.OpenKey('*\shell\'+trim(edit7.Text),true);// 打开键值如果不存在就创建他
       Reg.WriteString('',trim(edit8.Text)); //写入EDIT8内容到注册表
       Reg.CloseKey;//先关闭,在打开刚创建的键值
       Reg.OpenKey('*\shell\'+trim(edit7.Text)+'\command',true);//打开刚创建的值 在创建一个COMMAND键值
       //接下来就是写EDIT9
       Reg.WriteString('','"'+trim(edit9.Text)+'"'+' '+'%1'); //写入EDIT9的内容到注册表下的COMMAND默认值
       Reg.CloseKey;//关闭键值
     finally
       Reg.Free;
     end; //好了。全部写完成了。现在运行一下。。忘了写提示了
    Showmessage('注册成功'); //刚注册的值先去看一下。有没有 ,现在在文件上点右键就有一个DELPHI的打开快捷程序了。



end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -