资源简介
测试可用的获取硬盘序列号和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语言程序实现
相关资源
- Thinking in C++中文版
- C++语言程序设计_第四版_郑莉_高清p
- 东南大学C++课件-何洁月80讲(总).
- DevC++
- C/C++实验系统
- 一个月挑战c++
- vsC++编程新手指导
- C++语言编程器
- VS2008 windows应用程序C++
- C++深入版
- C++PPT
- C++沉思录
- c++核心编程技术
- C++出错提示英汉对照
- c++/c语言学习系统
- C和C++安全编码(中文版)
- c++基础教程
- VC++6.0
- Microsoft Visual C++ 2010
- 嵌入式CC++语言精华文章集锦
- 交通灯管理仿真程序
- CC++库函数
- C++_STL使用例子大全
- C C++精华帖合辑(新手必看)
- C++ 基本语法及实例说明
- 《算法竞赛入门经典》
- C++API
- c++深度剖析木马程序
- c++练习题
- vc++6.0初学入门教程(PDF编辑版)
评论
共有 条评论