📄 unit1.~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 + -