当前位置: 技术问答>java相关
如何给一个软件加上时间限制(30天),并通过注册取消时间限制?
来源: 互联网 发布时间:2015-08-02
本文导语: 请给出完整的源代码!谢谢! | 我认为实现起来很简单, 就是安装的时候把安装日期写入注册表中, 然后每次启动程序的时候,把当前日期和注册表日期进行比较,看看他用了多长时间了。 ...
请给出完整的源代码!谢谢!
|
我认为实现起来很简单,
就是安装的时候把安装日期写入注册表中,
然后每次启动程序的时候,把当前日期和注册表日期进行比较,看看他用了多长时间了。
当然这样做有很多缺陷,首先如果用户重新装系统,你在注册表中保存的东西,就丢失了,而且用户可以更改计算机的日期,这样可能让你的软件用不过期。
解决方法有
1.过期问题:要求程序到你的服务器去时间,当然,这样交互,可能是被客户禁止的。
2.防止客户重装系统的问题:自己编写一个虚拟机,读取主板序列号,这样,别说他重新安装了,就算他换了硬盘,也别指望再本机器上使用超过30天。但要实现这条,必须和你的服务器交互,把对方的序列号和注册时间发送到你的服务器中保存起来,每次程序启动的时候,再从你的服务器中读取时间信息。
但,读取主板序列号,并发送消息似乎有法律纠纷问题,呵呵
就是安装的时候把安装日期写入注册表中,
然后每次启动程序的时候,把当前日期和注册表日期进行比较,看看他用了多长时间了。
当然这样做有很多缺陷,首先如果用户重新装系统,你在注册表中保存的东西,就丢失了,而且用户可以更改计算机的日期,这样可能让你的软件用不过期。
解决方法有
1.过期问题:要求程序到你的服务器去时间,当然,这样交互,可能是被客户禁止的。
2.防止客户重装系统的问题:自己编写一个虚拟机,读取主板序列号,这样,别说他重新安装了,就算他换了硬盘,也别指望再本机器上使用超过30天。但要实现这条,必须和你的服务器交互,把对方的序列号和注册时间发送到你的服务器中保存起来,每次程序启动的时候,再从你的服务器中读取时间信息。
但,读取主板序列号,并发送消息似乎有法律纠纷问题,呵呵
|
我不说在什么地方保存时间的数据最保密(我不知道,也不想知道),我想说,每一次运行的时候,就记录他用了多少天,并把这个数据记录下来,如果到了30天,即使改了系统时间也没有用。除非他每次运行的时候总把时间调到30天之内。
支持免费软件!
支持免费软件!