共享软件都有限制,比如时间限制,使用次数限制,功能限制等。1、在收到用户注册费用以后,是不是要手工给每个人都寄去不同的软件注册码?
那岂不是很麻烦?2、那注册码是怎样产生的呢?听说可以通过用户硬盘序列号来产生,那么当收到注册费后,到底是怎样为每个用户产生不同的注册码的呢?3、在《Windows优化大师》里,是先输入一个用户名,然后得到一个“注册申请码”,是不是该“注册申请码”包含了本机的信息,然后把它发给软件作者,作者根据该号码产生出一个软件注册号,然后再发给用户呢?我不知道我的理解对不对,如果是这样的,那么这个“注册申请码”是怎样得到的,又是怎样通过它产生软件注册号的?4、现在一般的共享软件是不是都是这样注册的?那不是很麻烦吗?要先收到用户的“申请码”,再产生一个注册号,然后发给用户,没有别的简单的方法吗?其他软件也是通过这种方式注册吗?请各位朋友给我详细讲讲这些东西,谢谢大家了。
那岂不是很麻烦?2、那注册码是怎样产生的呢?听说可以通过用户硬盘序列号来产生,那么当收到注册费后,到底是怎样为每个用户产生不同的注册码的呢?3、在《Windows优化大师》里,是先输入一个用户名,然后得到一个“注册申请码”,是不是该“注册申请码”包含了本机的信息,然后把它发给软件作者,作者根据该号码产生出一个软件注册号,然后再发给用户呢?我不知道我的理解对不对,如果是这样的,那么这个“注册申请码”是怎样得到的,又是怎样通过它产生软件注册号的?4、现在一般的共享软件是不是都是这样注册的?那不是很麻烦吗?要先收到用户的“申请码”,再产生一个注册号,然后发给用户,没有别的简单的方法吗?其他软件也是通过这种方式注册吗?请各位朋友给我详细讲讲这些东西,谢谢大家了。
解决方案 »
- 求教Random随机算法实现
- 动态创建shape控件,并想在运行时实现对shape的拖动,并可以用鼠标进行大小的拖拉
- IdTCPServer能否与IdTCPServer通讯
- 请问一个sql语句的问题
- 怎么判断文本框里输入的值不是数值型!
- 如何将一个数据表中的内容,加到下拉列表中?
- 再线等候---delphi中如何实现帮助文件的调用!!!
- 我怎么知道并取得TDATASET中被修改的字段以及修改前后的值?
- 高分求SNMP代码!!!
- 求:TIFF转pdf方面的源代码例子(可用第三方控件)?
- treeview的用法问题??急用!!!一定给分的!!!
- 请问有什么简便的方法可以使两个ADO链接的库里的数据相互转移?
我也想了解一下这方便的情况,帮你Up一下!ePing
先获取硬件号(可以是硬盘或主板等,不唯一),按一定规则加密后返回A,用户把这个号码A给你之后,你可以根据这个A还原硬件号,
然后你根据他的硬件号,按另一个规则生成序列号B,用户用序列号B就可以正常运行软件了。
当然你还可以给他不同类型的序列号,如在某日期前可以使用的,或一定次数限制的,这要你在程序中加了。
var
VolumeSerialNumber : DWORD;
MaximumComponentLength : DWORD;
FileSystemFlags : DWORD;
begin
if Drv[Length(Drv)] =':' then Drv := Drv + '\';
GetVolumeInformation(pChar(Drv),
nil,
0,
@VolumeSerialNumber,
MaximumComponentLength,
FileSystemFlags,
nil,
0);
Result:= (VolumeSerialNumber);end;