程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 用NIC和硬盤序列號實現軟件的網絡注冊機制

用NIC和硬盤序列號實現軟件的網絡注冊機制

編輯:關於VC++

簡介:

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 調用。

本文配套源碼

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved