VC6获取硬盘序列号、型号、修订版本号

因为要做个读取硬盘参数信息的控件,所以在网上找了不少代码,但是自己作为一个初学者在使用别人代码时,总会发现有各种各样的问题:

1. 需要的头文件未写明

2. 有些定义未给出

3. 代码的开发环境未明,导致编译时出现“XXXX“未定义

3. 添加的代码写在哪里不明确

以上这些情况对于初学者是很容易遇到的,所以这里整理了下。

以下是“读取硬盘序列号、型号、修订版本号”的完整代码(win32 C++控制台程序),开发环境:win XP SP2 + VC6.0

头文件:Struct_Def.h

// 其实以下的定义多数是来自高版本VC(我机器上是VS2010)的头文件:C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\WinIoCtl.h

typedef struct _DRIVERSTATUS {
	BYTE     bDriverError;           // Error code from driver,
	// or 0 if no error.
	BYTE     bIDEError;                      // Contents of IDE Error register.
	// Only valid when bDriverError
	// is SMART_IDE_ERROR.
	BYTE     bReserved[2];           // Reserved for future expansion.
	DWORD   dwReserved[2];          // Reserved for future expansion.
} DRIVERSTATUS, *PDRIVERSTATUS, *LPDRIVERSTATUS;

typedef struct _IDEREGS {
	BYTE     bFeaturesReg;           // Used for specifying SMART "commands".
	BYTE     bSectorCountReg;        // IDE sector count register
	BYTE     bSectorNumberReg;       // IDE sector number register
	BYTE     bCylLowReg;             // IDE low order cylinder value
	BYTE     bCylHighReg;            // IDE high order cylinder value
	BYTE     bDriveHeadReg;          // IDE drive/head register
	BYTE     bCommandReg;            // Actual IDE command.
	BYTE     bReserved;              // reserved for future use.  Must be zero.
} IDEREGS, *PIDEREGS, *LPIDEREGS;

typedef struct _SENDCMDOUTPARAMS {
	DWORD  
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值