就是想把我的程序做成要输入序列号时才能使用,怎样做这个序列号生成程序啊???
再具体点就是当第一次运行我的程序时产生一个机器号,之后根据这个机器号,我再生成
一个序列号,当用户输入序列号注册后才能正常运行程序!!!!
再具体点就是当第一次运行我的程序时产生一个机器号,之后根据这个机器号,我再生成
一个序列号,当用户输入序列号注册后才能正常运行程序!!!!
解决方案 »
- 求字段连续滑动的和
- 一个dll函数调用的问题(指针参数)
- 请问如何把数据库中的简体中文显示到繁体系统里?
- ????????? 用access 在insert into 时出错,而用sql2000时不出错!
- 100分,不够再给,什么都缺,唯一不缺的是分,添加记录的问题,有点怪,高手请进,在线等待
- 二维数组的小问题
- 我用WINEXEC(CMDSTR,SW_SHOWNORMAL)语句对数据库进行备份,但是不知道该如何取的数据库在DOS下导出的信息
- 我用超级报表(vc)时在(delphi)中使用Getxxx方法返回都是空.vb没问题.
- 我MM摔伤了,希望她早日恢复!~~~~散分~~~~(三)
- 如何使windows注销的时候不让系统把自己的程序注销掉,就象windows里的一些服务一样
- 关于用idftp控件被动连接ftp
- 无法安装DELPHI控件~求助!!
TCPUID = array[1..4] of Longint;function GetCPUID : TCPUID; assembler; register; //得到CPU序列号
asm
PUSH EBX {Save affected register}
PUSH EDI
MOV EDI,EAX {@Resukt}
MOV EAX,1
DW $A20F {CPUID Command}
STOSD {CPUID[1]}
MOV EAX,EBX
STOSD {CPUID[2]}
MOV EAX,ECX
STOSD {CPUID[3]}
MOV EAX,EDX
STOSD {CPUID[4]}
POP EDI {Restore registers}
POP EBX
end;这样调用:
MyCPUID: TCPUID;
str: string;
begin
MyCPUID := GetCPUID;
str := IntToStr(MyCPUID[1])+ IntToStr(MyCPUID[2])+ IntToStr(MyCPUID[3])+ IntToStr(MyCPUID[4]);str即为得到的CPUID。再用个算法来加密CPU ID=注册序号
代码可以参考FAQ里面我帖过的例子.
比较的时候不要DESEncrypt(ID)=注册码,这样明显的是明码比较
应该采用DESDecrypt(系列号)=ID详细请参看:
http://blog.csdn.net/VCInfo/archive/2006/03/08/619008.aspx