分享一个单机软件试用期计时思路

Posted HelloLLLLL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分享一个单机软件试用期计时思路相关的知识,希望对你有一定的参考价值。

1.首次启动软件时,先获取自己软件写入的注册表项,如果已经存在了,再获取记录的时钟周期数,如果不存在的话,获取主机自cpu上电以来的时钟周期数,已纳秒为单位,然后把这个数保存到电脑自己的注册项里。
2.以后每次启动软件,都获取自cpu上电以来的时钟周期数,然后再去读取首次写入的那个数值。
3.两两相减,计算出的时间差就是软件再这台主机上存在的天数的纳秒值。
这样做及防止了更改系统时间,又防止了重装。
 
不过这个实在是依赖注册表了,注册表里的值被删了,那不就玩完了吖。还有,主板电池一泄电,那也完玩了。所以这个方法也不是很保险。
 
但如果软件一直不能联网,又不能借助其他设备,我也想不到其他方式了。能不能把值写入主机的硬件?或者写入windows系统,或者让用户无法修改注册表?这些不知可不可以深入研究一下。
 
获取时钟周期数可以用c++语言实现:
inline unsigned __int64 GetCycleCount()
{
__asm RDTSC
}

以上是关于分享一个单机软件试用期计时思路的主要内容,如果未能解决你的问题,请参考以下文章

分享105个软件测试工具 (免费试用) 赶快收藏起来,日后必定有用~

软件测试测试用例的设计

土豆录屏试用和卸载

土豆录屏试用和卸载

Disk Drill — Mac 数据恢复软件试用 教程 恢复删除文

如何才能消除某软件的30天试用期的限制?