windows驱动获取硬盘大小等信息
时间: 2024-01-22 07:03:15 浏览: 33
获取Windows系统中硬盘大小等信息需要通过Windows提供的API函数来实现,以下是一个C++示例代码:
```cpp
#include <windows.h>
#include <iostream>
#include <sstream>
#include <iomanip>
using namespace std;
int main()
{
ULARGE_INTEGER freeBytesAvailable, totalNumberOfBytes, totalNumberOfFreeBytes;
if (!GetDiskFreeSpaceEx(NULL, &freeBytesAvailable, &totalNumberOfBytes, &totalNumberOfFreeBytes))
{
cout << "Error: Unable to get disk information." << endl;
return 1;
}
double totalSize = static_cast<double>(totalNumberOfBytes.QuadPart) / (1024 * 1024 * 1024);
double freeSize = static_cast<double>(freeBytesAvailable.QuadPart) / (1024 * 1024 * 1024);
ostringstream ss;
ss << "Total disk size: " << fixed << setprecision(2) << totalSize << "GB" << endl;
ss << "Free disk size: " << fixed << setprecision(2) << freeSize << "GB" << endl;
cout << ss.str();
return 0;
}
```
该代码通过调用`GetDiskFreeSpaceEx`函数来获取硬盘的总大小和可用空间。其中,`ULARGE_INTEGER`结构体用于存储64位的整数值,因为硬盘容量可能超过32位整数的表示范围。由于硬盘容量一般使用GB单位表示,因此需要将字节转换为GB。最终将结果输出到控制台。