首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

诚心请问:请教怎么在程序中取得或创建机器码

2012-02-28 
诚心请教:请问如何在程序中取得或创建机器码?共享软件一般都要有一个机器码来防止盗版,我一直是用下面的Wi

诚心请教:请问如何在程序中取得或创建机器码?
共享软件一般都要有一个机器码来防止盗版,我一直是用下面的Win32   API函数取硬盘序列号来生成机器码:
GetVolumeInformation
比如说C盘:
GetVolumeInformation( 'C:\\ ',nil,0,#SerialNum,NotUsed,VolumeFlags,nil,0)
但是总有用户反映说重装系统后硬盘序就变了,不得不重给注册码。不知这个问题怎么解决?

2、听说有用网卡的序列号做机器码的,我有疑问:那么如果用户不用网卡或没装网卡怎么办?或者用户有多块网卡怎么办?比如说用户用普通网卡上内网,WLAN网卡上外网?

3、其它有什么办法来得到一个相对“稳定”的机器码吗?



[解决办法]
你那是用的逻辑分区的序列号。要用硬盘的物理序列号。物理序列号是出厂时设定的,高级格式化不会消失。网上搜一下“delphi获得硬盘物理序列号”,有很多地方介绍这样的函数。
[解决办法]
你可以采用“硬盘序列号 + 主板序列号 + CPU序列号 + 网卡序列号”生成验证码。这样即使某个硬件没有序列号,也不影响。

热点排行