用NIC和硬盘序列号实现软件的网络注册机制
2006-07-20 11:37:27 来源:WEB开发网核心提示:本文示例源代码或素材下载 简介:PJSECURE 是一个 C 风格的 Win32 动态链接库,利用它可以实现软件产品的网络拷贝注册功能,用NIC和硬盘序列号实现软件的网络注册机制, 通过调用 RCP 函数 UuidCreate 或 UuidCreateSequential 快速获取远端机器的网卡地址, PJSE
本文示例源代码或素材下载
简介:
- PJSECURE 是一个 C 风格的 Win32 动态链接库,利用它可以实现软件产品的网络拷贝注册功能。
- 通过调用 RCP 函数 UuidCreate 或 UuidCreateSequential 快速获取远端机器的网卡地址。
- PJSECURE 中的导出函数根据两个信息来唯一确定某台计算机。第一个函数可以获取所装网卡的 NIC 地址,该地址是一个12位的数字,由网卡的生产厂商保证其唯一性。第二个函数返回机器 C 盘的序列号。有了着两个信息,就可以成功创建自己的软件注册机制。
- 源代码中包含 PJSECURE 的定义和实现以及一个测试该 DLL 的控制台程序。
- 支持 Unicode ,并且随源代码一起提供生成配置选项。
API 参考:
GetNicAddress
BOOL GetNicAddress(LPTSTR pszNicAddress, UINT nBufSize);
参数
pszNicAddress 如果函数调用成功,用该参数保存 NIC 地址。
nBufSize pszNicAddress 参数的长度,至少应该为13 或更大。
注释
该函数获取客户机器上网卡的 NIC 地址。调用程序负责分配缓冲接收该地址。所有 NIC 地址为12字节长,所以调用该函数前应该分配至少13个字节以上的空间来容纳该地址。该函数在内部调用 RCP 函数 UuidCreate 或 UuidCreateSequential。这意味着代码不依赖所安装的任何专门的网络协议。如果函数调用成功返回 TRUE,否则返回 FALSE。
GetCDriveSerialNumber
BOOL GetCDriveSerialNumber(LPDWORD pdwSerialNumber);
参数
pdwSerialNumber DWORD 指针,它根据函数的返回值来接收“C”盘的序列号。
注释
如果函数调用成功返回 TRUE,否则返回 FALSE。pdwSerialNumber中的返回值可用“VOL”命令行命令显示出来。对于安全敏感程序,调用该函数可以作为一种次要手段来获得关于客户的确认性信息。
版权声明:
- 你可以在任何以二进制形式发布的产品(包括商业的、共享的、自由的或其它的)中包含此源代码
- 在不修改每个模块(*.h、*.cpp)最上方版权细则的前提下,你可以用任何方式修改源代码
- 如果你想要与自己的应用程序一起分发源代码,只允许分发作者最新发布的版本,以便保证源代码的出处是唯一的。
注意事项:
- 如果在 Windows 2000 上运行该程序,请用 UuidCreateSequential 调用替换 UuidCreate 调用。
更多精彩
赞助商链接