form.create初始化时间
form1.close时候
把用户的使用时间写进注册表
form1.close时候
把用户的使用时间写进注册表
解决方案 »
- Delphi中TRzPageControl实现多窗口的融合窗口详细方法
- 请教:DBEXPRESS 的控件,连接MS SQL SERVER ,如果插入时候有重复行(关键字),如何简单解决?
- 关于dbedit的问题?
- 路径合法性判断的问题
- 一个Idhttp的问题
- 如何实现象winamp一样,用一个trackbat来调节音道的左右平衡?
- 请问大家有用delphi做工业控制上的计算机信息管理的朋友吗?
- 字段阿,我很烦!
- 谁有这样的函数或控件?
- 一个小型的管理系统到底值多少钱?怎么样给程序定价?》
- 我用dbedit控件连一个浮点数类型,它怎么就是不接受0啊!非零的数都可以,可是输入0它就不显示了,为什么啊?
- 工具栏的制作问题(没有找到相关帖子,只要参予一定给分)
当然启动时还要取出数据/60/60,如大干10的话就退出。
把应用软件加上30天的试用期
出自:senders
--------------------------------------------------------------------------------
unit regApp; interface uses Windows,SysUtils,Registry,forms, Dialogs; type
Tlogin = class
private
public
constructor Create; virtual;
procedure CheckLogin;
end;
implementation constructor Tlogin.Create;
begin
inherited Create;
end; procedure Tlogin.CheckLogin;
var
Reg_id: TDateTime;
RegisterTemp: TRegistry;
InputStr, Get_id: string;
Reg_tag, ClickDok: Boolean;
Allow: Integer;
begin
Allow := 30; //试用期为30天
Reg_tag := False; //软件是否到注册期
registerTemp := TRegistry.Create; //准备使用注册表
with registerTemp do
begin
RootKey := HKEY_LOCAL_MACHINE; //存放
if OpenKey(''Software\Microsoft\Windows\CurrentSowft\tag'', True) then // 建一目录,存放标志值
begin
if ValueExists(''DateTag'') then begin //用DateTag的值作为标志
Reg_id := ReadDate(''DateTag''); //读出标志值
if (Reg_id <> 0) and (Now - Reg_id > Allow) then //允许使用的时间到
Reg_tag := True;
end
else
WriteDateTime(''DateTag'', Now); //建立标志,并置初始标志值。
end;
if Reg_tag then begin //要求用户输入注册码
ClickDok := InputQuery(''您使用的是非注册软件,请输入注册码:'', '' '', inputstr);
if ClickDok then begin
Get_id := IntToStr(2222); //注册码2
if Get_id = InputStr then begin
WriteDateTime(''DateTag'', 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.