CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

把应用加上30天的试用期。

楼主swazn_yj(菩提本无树)2001-09-18 10:04:32 在 Delphi / VCL组件开发及应用 提问

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.  
   
  我找来以上代码也想给我的应用加上30天试用期,但不知道怎么用,把这段代码保存成什么文件,文件名,应用怎么调用,请各位指教!  
   
   
  问题点数:20、回复次数:11Top

1 楼zds0707(周)回复于 2001-09-18 10:14:13 得分 4

这是一个写注册表来注册的程序,  
  运行:   regedit  
    在     HKEY_LOCAL_MACHINE     下  
          Software\Microsoft\Windows\CurrentSowft\tag    
      的   键   值    
          Top

2 楼pathe(睡斛)回复于 2001-09-18 10:17:14 得分 2

直接写到你的工程文件中,主form创建前,  
  如果成功则正常执行程序,否则退出.  
  当然了这样做并不保险,你最好在加一个次数的限制!  
  但其实写注册表是没太大用处的,蒙蒙罢了!  
   
  Top

3 楼pathe(睡斛)回复于 2001-09-18 10:18:59 得分 2

就象一般的单元一样用!Top

4 楼swazn_yj(菩提本无树)回复于 2001-09-18 10:21:09 得分 0

我用的是win2000server,根本没有Software\Microsoft\Windows\CurrentSowft\tag    
      键值!我想知道的是怎么把这段代码加入我的应用???Top

5 楼pandazy(小熊)回复于 2001-09-18 10:25:58 得分 2

可以写一个动态连接库,在你的应用程序的主窗口开始之前调用动态连接库  
  动态连接库的返回值就是注册是否成功的信息Top

6 楼swazn_yj(菩提本无树)回复于 2001-09-18 10:31:10 得分 0

老兄:  
      我刚学delphi不久,不要搞的太神秘,来点简单的,就告诉我具体怎么做,比如:  
  第一步:  
      打开应用:新建个form,然后拷贝这段代码过来,保存成名字为____的文件,  
  然后把这个form加入应用,等等......  
  第二步:  
  .........  
  就这样我才能理解,OK?Top

7 楼pandazy(小熊)回复于 2001-09-18 10:40:41 得分 2

哈,也可以在MainForm的FormShow   里直接写一个函数判断嘛  
  这个方法最简单也最有效  
  Top

8 楼sanjianxia(三剑侠)回复于 2001-09-18 10:49:15 得分 2

写简单一点吧!用程序记忆两个时间,看当前时间和前一次时间是否增加,增加多少天,然后和第一次记忆时间相差<=30就可以了.Top

9 楼herro123(螃蟹不走路)回复于 2001-09-18 14:00:17 得分 4

那段代码好像是一个简单的组件,可以把他存成pas文件,用Component->InstallPackage把它  
  注册成为一个组件。然后在自己的程序中:  
   
  uses   XXX   ;   //XXX是自己取的组件名  
   
  var  
      MyLogin:   TLogin;  
   
  procedure   XX.FormShow();  
  begin  
      MyLogin:=   TLogin.Create;   //哎呀,忘了说啦,Create是要自己重载的,加入自己的信息  
      MyLogin.CheckLogin;  
  end;  
   
  //还要重载构造函数,太麻烦了。不过搞好了就可以反复使用了。  
  Top

10 楼Caty(双鱼)回复于 2001-09-18 18:37:19 得分 2

使用Asprotect1.1软件保护程序!很好用,自动为你生成试用期和试用次数的控制!  
  Top

11 楼tide_liu(龙飞九天)回复于 2001-09-18 18:57:20 得分 0

gzTop

相关问题

  • ??????????如何消除试用期天数的限制???????????
  • 工作试用期才七天,怎么安全度过这七天。。。。。。
  • 深圳,ASP,试用期2600 ,今天下午就得做出决定呢???????????
  • 试用期问题
  • Visual Assist 很好用,但是谁有它的破解版?30天试用期马上就要到了!
  • 请问谁可以告诉我,哪里有intel c++ compiler 下载啊.(希望能解除30天的试用期)
  • 急需windows.net rc2中文版的下载地址和14天试用期破解方法,希望大家提供
  • 请问,如何实现--让软件只有30天的试用期,然后需要输入注册号?
  • 试用期这个工资???
  • 试用期800,转正1200

关键词

  • 应用
  • 代码
  • tag
  • 注册
  • 文件
  • 软件
  • 连接
  • tlogin
  • 试用期
  • datetag

得分解答快速导航

  • 帖主:swazn_yj
  • zds0707
  • pathe
  • pathe
  • pandazy
  • pandazy
  • sanjianxia
  • herro123
  • Caty

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo