找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1016|回复: 12

[VBA函数]:向注册表读、写程序运行次数

[复制链接]
发表于 2002-11-19 19:20:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Public Sub limits()
Dim RemainDay As Long
RemainDay = GetSetting("MyApp", "set", "times", 0)
If RemainDay > 1000 Then
MsgBox "试用次数已满,请向1364注册", vbCritical, "渠道CADv4.0"
End
End If

MsgBox "现在剩下:" & 1000 - RemainDay & "试用次数,尽快注册!", vbExclamation, "渠道CADv1.0"
RemainDay = RemainDay + 1
SaveSetting "MyApp", "set", "times", RemainDay
End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2002-11-19 19:55:13 | 显示全部楼层
这种注册,是不是有点老,别人都可以在注册表中改!
现在流行的是怎样的呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-11-19 20:02:10 | 显示全部楼层
哈哈
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-11-20 10:53:32 | 显示全部楼层
引用wshom.ocx(Windows Script Host Object Model)对象,其下有一个对象WshShell,它包含了三个读写注册表的函数。
1、RegWrite
用法:WshShell.RegWrite strName, anyValue, [strType]
strName 如果以“\”结尾表示键(Key),否则表示值(Value)。
anyValue 表法写入的值
strType 默认是REG_SZ,类型,也可设置为REG_DWORD、REG_BINARY,使用时加上引号,如"REG_BINARY"。
例如:
Dim WshShell As IWshRuntimeLibrary.WshShell
Set WshShell =New IWshRuntimeLibrary.WshShell
WshShell.RegWrite "HKCU\ScriptEngine\Value", "Some string value"
WshShell.RegWrite "HKCU\ScriptEngine\Key\", 1 "REG_DWORD"

2、RegRead
用法:WshShell.RegRead(strName) = strValue
例如:
Dim WshShell As IWshRuntimeLibrary.WshShell
Set WshShell =New IWshRuntimeLibrary.WshShell
WshShell.RegRead("HKCU\ScriptEngine\Val")    ' Read from value "Val"
WshShell.RegRead("HKCU\ScriptEngine\Key\")   ' Read from key "Key"

3、RegDelete
用法:WshShell.RegDelete strName
例如:
Dim WshShell As IWshRuntimeLibrary.WshShell
Set WshShell =New IWshRuntimeLibrary.WshShell
WshShell.RegDelete "HKCU\ScriptEngine\Value"    ' Delete value "Value"
WshShell.RegDelete "HKCU\ScriptEngine\Key\"     ' Delete key "Key"
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-11-25 00:58:56 | 显示全部楼层
虽然在注册表中记录数据是最原始的方法,但这种类型的记录还是可行的。
如果我们对数据加密就不怕修改了。
思路:
分别保存二个子键:A和B,它们是二进制码
如果检查不到这两个键值要求用户重新安装程序。
A=010203(存放所须数据:注册码、用户名等)
B=FEFDFC(存放校验码)
检查A和B的值是否每位相加等于FF,如果是则能过。这样可以防止修改键值的破解。

这种校验方法在目前较为常见,虽然原始但有效,问题是使用更好的加密算法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2002-12-14 23:21:50 | 显示全部楼层
虽然我不会破解,但我知道只要把程序改成:不等于FF就有效,一般只要改一个字节.
好象天正就是这样改就行.所以你什么算法就无所谓啦.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-12-14 23:40:25 | 显示全部楼层
我想问问时间限制的是怎样搞的,先存一个时间到注册表那是肯定的,然后与现在的时期比较,但要怎样解决你调日期的问题呢?
我看了很多资料都没有找到
555
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-12-15 15:14:23 | 显示全部楼层
存两个时间,一个是注册时的日期,另一个是上次运行的日期,如果这次运行的日期早于上次运行的日期,说明系统时间被更改了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-12-15 16:17:14 | 显示全部楼层
举个例,30天到期,我是1号注的册,我在用了十五号时再把时间调到1号,那以后的时期应怎么算?怎样算到期?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-12-15 16:31:16 | 显示全部楼层
比如,20021201121430,前8位表示安装日期,也就是第一次使用的日期,接着4位表示当前使用的日期,最后2位表示使用期限。到了15号,如果把日期更改为1号,那么与1214判断时就不对了。
上面的一串数字字符,平常通过加密来处理,看到的只是一些乱码,读取时再解密成正常的字符。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-12-15 16:43:03 | 显示全部楼层
我觉得最后两位应是可使用日期为好,
那15号时其数值应是:20021201121515,我把日期调到1号,判断不对后程序应怎样处理才好呢?应存为什么呢?把安装日期改到现在?为20021215121515,这样对吗?
只要你调整日期,我就把初始日期和现在使用日期及还可使用次数改一下,不知这种思路对不对?
但如果我用之前调整日期,让它每次都是在15号,那程序也鞭长莫及了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-12-15 16:52:34 | 显示全部楼层
对于日期调前的,加密部分不保存任何值,而是提示软件试用期已过,对于日期调后的,判断有没有到试用期,如果超过则提示,不超过则缩短其试用时间。当然,有些软件还需要按次数来判断,因为同一天的使用次数有一个理论值,超过这个值就属于不正常现象。其实,加密的方法有很多种,自己可以综合考虑,找出适合自己的方法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-12-15 16:56:01 | 显示全部楼层
多谢,终于对日期限制的注册方法有了一定的了解
你说数据放到注册表好不是放到文件中好呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-24 12:52 , Processed in 0.358977 second(s), 55 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表