各位大虾,想请教一下,在软件中怎样实现注册功能,是否需要将注册信息做成一个类似与.reg的文件。
是否有实例说明.谢拉.
是否有实例说明.谢拉.
解决方案 »
- 熟悉fastreport的请进
- 如何实现Draging的时候我按下Shift键,Drag图标会变化,
- 应用程序无故关闭!知道是何原因
- 如何就是把一个二进制文件中的每一个字节 异或 11
- 三层问题,客户层一定要clientdataset来连接中间层吗?
- 还有一个问题,请教!!
- 客户机提示File is locked
- 请问斑竹:建个索引,用Table.AddIndex()方法!谁会?需上机通过验证代码!
- Tadoquery执行SQL语句后,若没返回数据,则不能关闭Tadoquery,怎么办?
- 在dbgrid下输入/修改数据时,怎么对输入进行约束?
- 如何用一个父类变量在不同的时间做为不同的子类。。。。该是这么说吧
- 请问: installshield express 和 installshield professtion edition 的区别??sorry .. 分用光了
var
re_id:integer;
registerTemp : TRegistry;
i,j,k:word;
inputstr,get_id:string;
dy:boolean;begin//软件注册
dy:=false;
registerTemp := TRegistry.Create;
try
with registerTemp do
begin
RootKey:=HKEY_LOCAL_MACHINE;
if OpenKey('Software\Microsoft\Windows\CurrentVersion\Mark',True) then
begin
if valueexists('gc_id') then begin
re_id:=readinteger('gc_id');
if (re_id<>0) and (re_id<>100) then begin
msgboxi('软件未注册!请与开发商联系'+#13+'你目前还能用'+trim(inttostr(100-re_id+1))+'次');
re_id:=re_id+1;
Writeinteger('gc_id',re_id);
end;
if re_id=100 then dy:=true;
end
else Writeinteger('gc_id',5);
end;
if dy then begin
Application.CreateForm(Tlogin_zcform, login_zcform);
login_zcform.ShowModal;
inputstr:=trim(login_zcform.zcm.Text);
login_zcform.Free;
DecodeDate(date,i,j,k);
get_id:='aaa'+inttostr((i+j)*72);//注册码:aaa+(当前年+当前月)*72
if get_id=inputstr then begin
Writeinteger('gc_id',0);
CloseKey;
// Free;
end
else begin
msgboxi('注册码错误!请与作者联系!');
CloseKey;
// Free;
application.terminate;
end;
end;
end;
finally
registerTemp.Free;
end;end;