資源簡介
測試可用的獲取硬盤序列號和CPUID的C++代碼,包含windows和linux操作系統。 注意:windows vista以上系統需要管理員權限才能獲取到硬盤序列號; 做了raid0磁盤陣列的硬盤也不能獲取到硬盤序列號,歡迎有相關技術的朋友可以交流下。
代碼片段和文件信息
#ifdef?WIN32
#include?
#include?
#include?
using?namespace?std;
//?IOCTL
#if(_WIN32_WINNT?0x0400)
#define?SMART_GET_VERSION 0x00074080
#define?SMART_RCV_DRIVE_DATA 0x0007c088
#endif
#define?FILE_DEVICE_SCSI 0x0000001b
#define?IOCTL_SCSI_MINIPORT_IDENTIFY ((FILE_DEVICE_SCSI?<16)?+?0x0501)
#define?IOCTL_SCSI_MINIPORT 0x0004D008
//?IDEREGS
#define?IDE_ATAPI_IDENTIFY 0xA1
#define?IDE_ATA_IDENTIFY 0xEC
#define?IDENTIFY_BUFFER_SIZE 512
#define?SENDIDLENGTH sizeof(SENDCMDOUTPARAMS)?+?IDENTIFY_BUFFER_SIZE
typedef?struct?_GETVERSIONOUTPARAMS
{
BYTE?bVersion;
BYTE?bRevision;
BYTE?bReserved;
BYTE?bIDEDeviceMap;
DWORD?fCapabilities;
DWORD?dwReserved[4];
}?GETVERSIONOUTPARAMS?*PGETVERSIONOUTPARAMS?*LPGETVERSIONOUTPA
- 上一篇:C++核線生成代碼
- 下一篇:自動售貨機的C語言程序實現
評論
共有 條評論