1月13日更新
1、新增注册系统设计功能
2、新提供一批和加密解密相关的函数,用于辅助设计注册系统。
设计自己的注册系统
如果你基于Foxtable设计了应用软件,而且希望能够发行并收取一定的注册费,那么就必须建立一套基于电脑硬件的软件注册系统。
设计这样的系统并不复杂,复杂的是如何获得电脑的硬件信息。
HardWareInfo类专门用于获得电脑的硬件信息,如何使用该类获得硬件信息,可以参考下面的代码:
If
HardWareInfo.Ready = False '如果没有初始化
HardWareInfo.Initialize '初始化HardWareInfo,提取硬件信息
End If
Output.Show("CPU信息")
With HardWareInfo.CPU
Output.Show("制造商:" & .Manufacturer)
Output.Show("品名:" & .Name)
Output.Show("型号:" & .Description)
Output.Show("序列号:" & .ProcessorId)
End With
Output.Show(Chr(13) & Chr(10))
Output.Show("主板信息")
With HardWareInfo.BaseBoard
Output.Show("制造商:" & .Manufacturer)
Output.Show("型号:" & .Product)
Output.Show("序列号:" & .SerialNumber)
End With
Output.Show(Chr(13) & Chr(10))
Output.Show("硬盘信息")
With HardWareInfo.Disk
Output.Show("型号:" & .Model)
Output.Show("序列号:" & .Signature)
End With
Output.Show(Chr(13) & Chr(10))
Output.Show("BIOS信息")
With HardWareInfo.Bios
Output.Show("厂商:" & .Manufacturer)
Output.Show("序列号:" & .SerialNumber)
End With
通常来说,不同的电脑,其CPU、主板、硬盘、Bios的序列号都是唯一的,我们可以据此生成软件的序列号和注册码。不过,也有特殊的情况,例如国内销售的电脑,大多数是没有办法获取CPU序列号的,其余的硬件也偶有不能获得序列号的情形,我们建议您在设计注册系统的时候,软件序列号应该包括上述四个硬件序列号信息,以防万一。
HardWareInfo需要初始化才可以提供硬件信息,通过其Ready属性可以判断HardWareInfo是否已经初始化了,通过Initialize方法进行话。初始化是需要时间的,所以在任何时候都应该先通过Ready属性判断一下,以避免重复初始化
根据硬件信息获得软件序列号后,可以利用字符加密解密函数生成和比对注册码,请参考:加密与解密
以下是引用hnaysx在2009-1-13 18:47:00的发言:
这个软件本身以应用为主,以数据管理为主,不是以开发为主 加这个功能有点鸡肋啊
[此贴子已经被作者于2009-1-13 18:47:43编辑过]
你学会了,就会发现需要这个功能了