trialout.~pas

来自「一套完整的软件保护示例 ├──Check..............软件保护」· ~PAS 代码 · 共 84 行

~PAS
84
字号
unit TrialOut;

interface

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

type
  TTrialOutFrm = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Button2: TButton;
    Label4: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  TrialOutFrm: TTrialOutFrm;

implementation

{$R *.dfm}

procedure TTrialOutFrm.Button1Click(Sender: TObject);
var
  Reg:TRegistry;
begin
  if Edit1.Text='' then
    begin
      MessageBox(Handle,'用户名不能为空!','提示',MB_OK);
      Exit;
    end;
  if Edit3.Text='' then
    begin
      MessageBox(Handle,'注册码不能为空!','提示',MB_OK);
      Exit;
    end;
  Reg:=TRegistry.Create;
  Reg.RootKey:=HKEY_CURRENT_USER;
  //存放注册信息的注册表位置可自己设定
  if Reg.OpenKey('\Software\Pefine',True) then
    begin
      //加密用户名保存到注册表中
      Reg.WriteString('ComSn1',Base64Encryption(Edit1.Text));
      //加密注册码保存到注册表中
      Reg.WriteString('ComSn2',Base64Encryption(Edit3.Text));  
    end;
  Reg.CloseKey;
  Reg.Destroy;
  Close;
end;

procedure TTrialOutFrm.FormCreate(Sender: TObject);
begin
  //获取硬盘系列号
  Edit2.Text:=GetHddSerial;
end;

procedure TTrialOutFrm.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  PostMessage(Application.Handle,WM_CLOSE,0,0);
end;

procedure TTrialOutFrm.Button2Click(Sender: TObject);
begin
  Close;
end;

end.

⌨️ 快捷键说明

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