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

2021/12/2 23:13:25

本文主要是介绍分享一个单机软件试用期计时思路,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

这篇关于分享一个单机软件试用期计时思路的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程