自己开发的delphi 100lei 内容丰富 绝对不要错过了啊。

源代码在线查看: unitfrmmain.pas

软件大小: 8400 K
上传用户: zhouqiaks
关键词: delphi 100 lei
下载地址: 免注册下载 普通下载 VIP

相关代码

				unit unitFrmMain;
				
				interface
				
				uses
				  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, registry;
				
				type
				  TForm1 = class(TForm)
				    procedure FormCreate(Sender: TObject);
				  private
				    { Private declarations }
				  public
				    { Public declarations }
				  end;
				
				var
				  Form1: TForm1;
				
				implementation
				
				{$R *.DFM}
				
				procedure TForm1.FormCreate(Sender: TObject);
				var
				  re_id: integer;
				  registertemp: tregistry;
				  inputstr, get_id: string;
				  dy, clickedok: boolean;
				begin
				  dy := false; //软件是否已到注册期、及是否允许继续使用的标志,当值为false是为允许使用。
				  registertemp := tregistry.create; //准备使用注册表
				  with registertemp do
				    begin
				      rootkey := hkey_local_machine; //存放在此根下
				      if openkey('software\microsoft\windows\currentversion\mark', true) then
				        // 建一目录,存放标志值。当然也可以存放在已存在的目录下。怎么样,很难发现吧?
				        begin
				          if valueexists('gc_id') then begin //用gc_id的值作为标志,首先判断其存在否?
				              re_id := readinteger('gc_id'); //读出标志值
				              if (re_id  0) and (re_id  100) then begin //若标志值为0,则说明已注册。
				                  //若不为0且值不到100,说明虽未注册,但允许使用的次数尚未达到。
				                  re_id := re_id + 5; //允许标志的最大值为100,每次加5,则最多只可用20次。
				                  writeinteger('gc_id', re_id); //将更新后的标志值写入注册表中。
				                end;
				              if re_id = 100 then dy := true; //假如值已到100,则应注册。
				            end
				          else writeinteger('gc_id', 5); //建立标志,并置初始标志值。
				        end;
				      if dy then begin //若dy值为true,则应提示用户输入注册码,进行注册。
				          clickedok := inputquery('您使用的是非注册软件,请输入注册码:', ' ', inputstr);
				          if clickedok then begin
				              get_id := inttostr(111111 * 2); //注册码为222222,当然可加入更杂的算法。
				              if get_id = inputstr then begin
				                  writeinteger('gc_id', 0); //若输入的注册码正确,则将标志值置为0,即已注册。
				                  closekey;
				                  free;
				                end
				              else begin //若输入的注册码错误,应作出提示并拒绝让其继续使用
				                  application.messagebox('注册码错误!请与作者联系!', '系统提示', mb_ok);
				                  closekey;
				                  free;
				                  application.terminate; //中止程序运行,拒绝让其继续使用
				                end;
				            end
				          else begin //若用户不输入注册码,也应作出提示并拒绝让其继续使用
				              application.messagebox('请与作者联系,使用注册软件!', '警告框', mb_ok);
				              closekey;
				              free;
				              application.terminate;
				            end;
				        end;
				    end;
				end;
				end.
				
							

相关资源