怎样把本软件是否注册的标志加在程序里?(注:不想加在数据库里) Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiDB/html/delphi_20061220125350203.html
本人公司做了一套软件,  
  并且需要注册才可以使用,  
  但是注册成功后不想把注册是否成功的标志保存在数据库、ini文件里,  
  想用更好的方法来做,  
  不知道各位有什么好办法?  
  多谢了,

把注册码放入注册表中,每次去比对。

有没有相关的源码,  
  没做过这些东西,  
  多指教,

没人保存注册是否成功的标志的  
  每次RUN都验证的

关注~帮顶.

三楼讲的对.  
   
  做法:   用户把本机硬件序列号提交给你,你经过运算得出注册码,交给用户注册使用.  
              而这个注册码具体放在哪里是无所谓的,哪怕就用一个TXT放在程序目录下也行,因为别的机器上此码无用.  
              程序每一次运行,都比对注册码与实际的注册码(亦是收集硬件序列号进行运算)是否一致.

多谢各位,  
  还有方法吗,  
  俺想今天揭帖,

给你一个,不过是检测注册表中的值进行判断是否已经注册:  
  当然这程序中的注册码是随便写的...  
  procedure   TE_Mainf.FormCreate(Sender:   TObject);  
  var   re_id:   integer;  
      registerTemp:   TRegistry;  
      inputstr,get_id:   string;  
      dy,   clickedok:   boolean;  
      i:   double;  
  label   Y,   N;  
  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                     //用gc_id的值作为标志,首先判断其存在否  
              begin  
                  re_id   :=   readinteger('gc_id');                       //读出标志值  
                  if   (re_id   <>   0)   and   (re_id   <>   100)   then     //若标志值为0,则说明已注册     ,若不为0且值不到100,说明虽未注册,但允许使用的次数尚未达到。  
                  begin  
                      re_id   :=   re_id   +   5;         //允许标志的最大值为100,每次加5,则最多只可用20次  
                      writeinteger('gc_id',   re_id);                     //将更新后的标志值写入注册表中  
                      i   :=   (100   -   re_id)   /   5;  
                      if   application.MessageBox(PAnsiChar('您使用的软件没有注册,还有   '   +   floattostr(i)   +   '   次使用次数,现在要注册吗?'),   '提示信息',   mb_yesno   +   mb_iconwarning)   =   idyes   then  
                      begin  
                          if   i   =   0   then  
                              application.Terminate  
                          else  
                              goto   y;  
                      end;  
                  end;  
                  if   re_id   =   0   then   goto   N;  
                  if   re_id   =   100   then   dy   :=   true;                     //若标志值已达到100,则应当注册  
              end  
              else  
                  Writeinteger('gc_id',   5);                                 //建立标志,并置初始标志值  
              re_id   :=   readinteger('gc_id');  
              i   :=   (100   -   re_id)   /   5;  
              if   Application.MessageBox(PAnsiChar('您使用的软件没有注册,还有   '   +   floattostr(i)   +   '   次使用次数,现在要注册吗?'),   '提示信息',   mb_yesno   +   mb_iconwarning)   =   idyes   then  
              begin  
                  if   i   =   0   then  
                      application.Terminate  
                  else  
                      goto   Y;  
              end;  
          end;  
          if   dy   then  
              Y:   begin                                 //若dy值为TRUE,则应提示用户输入注册码,进行注册  
              clickedok   :=   InputQuery('系统提示',   '请输入注册码:',   inputstr);  
              if   clickedok   then  
              begin  
                  get_id   :=   inttostr(83392582   *   2);   //注册码为166785164,够简单的......  
                  if   get_id   =   inputstr   then  
                  begin  
                      Writeinteger('gc_id',   0);         //若输入的注册码正确,则将标志值置为0,即已注册  
                      Application.MessageBox('恭喜你,软件注册成功!',   '提示',   MB_OK);  
                      CloseKey;  
                      Free;  
                  end  
                  else  
                  begin  
                      application.messagebox('注册码错误!请与作者联系!',   '警告',   mb_ok   +   mb_iconstop);  
                      CloseKey;  
                      Free;  
                      application.terminate;                                   //中止程序运行,拒绝让其继续使用  
                  end;  
              end  
              else  
              begin  
                  CloseKey;  
                  Free;  
                  application.terminate;                                       //中止程序运行,拒绝让其继续使用  
              end;  
          end;  
      end;  
      N:   datamodule1   :=   tdatamodule1.Create(self);  
      if   not   assigned(E_loginf)   then  
          E_loginf   :=   tE_loginf.Create(self);  
      E_loginf.ShowModal;  
      if   E_loginf.ModalResult   =   mrCancel   then//检查返回模式,如果是关闭或是取消,则中止运行  
      begin  
              Application.Terminate;  
              exit;  
      end;  
  不知有没达到你要求~~

怎样把本软件是否注册的标志加在程序里?(注:不想加在数据库里)相关推荐

  1. C# 简单软件有效期注册的实现【原】

    ◆需求: 公司一直以来对开发的产品都没有进行使用时间的控制,要么就是将日期限制写死在程序里面,每次都要编译新程序再发给客户,很不方便.于是公司让我写个模块,要求如下: 1.无论哪个新开发的程序只要调用 ...

  2. 龙门标局:注册地理标志证明商标有什么作用

    说起地理标志证明商标,相信对大家来说是比较陌生的,不了解这种商标是怎样的形式,作用是什么.但是大家一定听说过六安瓜片等带有地名的产品,其实,地理标志证明商标是国际上保护特色产品的一种方式,下面我们一起 ...

  3. 针对WM6.5系统和软件的注册表修改以及优化

    针对WM6.5系统和软件的注册表修改以及优化 2011年04月12日 手机上修改Windows?Phone注册表的软件(如果手机上已经有注册表修改软件就没必要下载了): 以下针对系统 手机上使用注册表 ...

  4. WM6.5系统和软件的注册表修改以及优化

    WM6.5系统和软件的注册表修改以及优化 手机上使用注册表编辑器修改一下键值: 注册表解锁: HKEY_LOCAL_MACHINE\Security\Policies\Policies 0000100 ...

  5. 云POS连锁版收银系统免费试用 超市连锁收银软件免费注册

    商拓云POS连锁版收银系统免费试用 超市连锁收银软件免费注册,这款也有收银功能,但是除了收银功能,它还有进销存.会员管理.财务管理.电子秤.连锁管理.支持多种支付模式以及对接线上o2o系统的等等商用管 ...

  6. Focusky教程 | 软件免费注册登录

    Focusky动画演示大师(以下简称为"FS软件")也就是focusky官方中文版,免费注册登录,即可发布输出视频,.exe,网页,.app(苹果电脑离线本地浏览格式),*.zip ...

  7. 最新版都叫兽数据恢复软件和注册机

    http://download.csdn.net/download/py_wj/8333585 最新版都叫兽数据恢复软件和注册机 转载于:https://www.cnblogs.com/xuejinh ...

  8. 标签打印软件如何制作保修标志

    现在很多商品上都会有多个标签,不再仅仅是商品包装上的一个产品标签,包括产品内部的部分重要位置也会贴一个如下图样式的保修标志的标签,下方这种不干胶标签制作起来也是非常简单的,下面我们就中琅标签打印软件来 ...

  9. 开源软件 字母组成的标志_看看6个标志性开源品牌

    开源软件 字母组成的标志 品牌是营销的组成部分. 如果操作正确并产生影响,那么简单的徽标(例如Nike swoosh)本身就是一个有力的广告. 只要开车驶入美国任何州际公路,您就会看到一些标志,向您介 ...

最新文章

  1. java栈 迷宫_利用栈实现迷宫的求解
  2. title: bat批处理简介:Windows自动化之道
  3. python导入csv文件-python读写csv文件
  4. python真的那么火吗-Python语言为什么这么火?
  5. (Easy) FizzBuzz LeetCode
  6. 单车家族 结对项目二
  7. EF Core 数据库 Provider 一览
  8. 争分夺秒!制药公司如何用大数据加快药物试验进程?
  9. mpvue中小程序自定义导航组件开发指南
  10. 软件测试的金字塔体系--从1个中心到5个要素
  11. 2021 五一数学建模 赛题思路
  12. c语言火车票退票系统流程图,[图解12306退票流程与步骤]
  13. jQuery WEUI select的使用
  14. 【Word】Word公式导出PDF后出现井号括号#()错误
  15. unity 3D飞机打石头小游戏
  16. html字母输出空格,如何在网页中插入html中文空格与英文空格
  17. React Native入门-实战解析(上)
  18. VUE Element-ui 图标加载失败问题 Failed to decode downloaded font : woff ttf
  19. 程序员写作能赚多少钱,怎么赚
  20. Your CLT does not support macOS 11

热门文章

  1. 数据可视化模块---Matplotlib
  2. 清华大学计算机系2015分数线,清华大学2015-2017高考录取分数线,附各省录取数据...
  3. 项目管理各管理内部重点
  4. pl/sql链接64位oracle数据库报错Could not initialize oci.dll
  5. Leaflet中使用Leaflet-MiniMap插件实现小地图效果
  6. MyBatisPlus中删除方法deletetById、deleteBatchIds、deleteByMap的使用
  7. SpringBoot中通过@Value获取自定义配置的值
  8. @RequestMapping对请求方法限定
  9. 让你了解什么是内存屏障
  10. 1 Zookeeper安装