共享软件一般都要有一个机器码来防止盗版,我一直是用下面的Win32 API函数取硬盘序列号来生成机器码:
GetVolumeInformation
比如说C盘:
GetVolumeInformation('C:\\',nil,0,#SerialNum,NotUsed,VolumeFlags,nil,0)
但是总有用户反映说重装系统后硬盘序就变了,不得不重给注册码。不知这个问题怎么解决?2、听说有用网卡的序列号做机器码的,我有疑问:那么如果用户不用网卡或没装网卡怎么办?或者用户有多块网卡怎么办?比如说用户用普通网卡上内网,WLAN网卡上外网?3、其它有什么办法来得到一个相对“稳定”的机器码吗?
GetVolumeInformation
比如说C盘:
GetVolumeInformation('C:\\',nil,0,#SerialNum,NotUsed,VolumeFlags,nil,0)
但是总有用户反映说重装系统后硬盘序就变了,不得不重给注册码。不知这个问题怎么解决?2、听说有用网卡的序列号做机器码的,我有疑问:那么如果用户不用网卡或没装网卡怎么办?或者用户有多块网卡怎么办?比如说用户用普通网卡上内网,WLAN网卡上外网?3、其它有什么办法来得到一个相对“稳定”的机器码吗?
------------------------------------------------------------------------
读取硬盘的物理序列号//获得硬盘序列号
function GetIdeSerialNumber() : PChar; stdcall;
const
IDENTIFY_BUFFER_SIZE = 512;
type