社区
硬件/系统
帖子详情
如何获取硬盘的基本信息?
mickyo
2009-08-05 04:31:41
最好能贴些代码,实在忙啊,都没空找了,先谢谢了.
...全文
233
2
打赏
收藏
如何获取硬盘的基本信息?
最好能贴些代码,实在忙啊,都没空找了,先谢谢了.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wallerobot
2009-08-05
打赏
举报
回复
直接粘贴吧
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
#include <winioctl.h>
BOOL GetDriveGeometry(DISK_GEOMETRY *pdg)
{
HANDLE hDevice; // handle to the drive to be examined
BOOL bResult; // results flag
DWORD junk; // discard results
hDevice = CreateFile(TEXT("\\\\.\\PhysicalDrive0"), // drive
0, // no access to the drive
FILE_SHARE_READ | // share mode
FILE_SHARE_WRITE,
NULL, // default security attributes
OPEN_EXISTING, // disposition
0, // file attributes
NULL); // do not copy file attributes
if (hDevice == INVALID_HANDLE_VALUE) // cannot open the drive
{
return (FALSE);
}
bResult = DeviceIoControl(hDevice, // device to be queried
IOCTL_DISK_GET_DRIVE_GEOMETRY, // operation to perform
NULL, 0, // no input buffer
pdg, sizeof(*pdg), // output buffer
&junk, // # bytes returned
(LPOVERLAPPED) NULL); // synchronous I/O
CloseHandle(hDevice);
return (bResult);
}
int _tmain(int argc, _TCHAR* argv[])
{
DISK_GEOMETRY pdg; // disk drive geometry structure
BOOL bResult; // generic results flag
ULONGLONG DiskSize; // size of the drive, in bytes
bResult = GetDriveGeometry (&pdg);
if (bResult)
{
printf("Cylinders = %I64d\n", pdg.Cylinders); //柱面
printf("Tracks/cylinder = %ld\n", (ULONG) pdg.TracksPerCylinder); //族
printf("Sectors/track = %ld\n", (ULONG) pdg.SectorsPerTrack); //扇区
printf("Bytes/sector = %ld\n", (ULONG) pdg.BytesPerSector); //字节
DiskSize = pdg.Cylinders.QuadPart * (ULONG)pdg.TracksPerCylinder *
(ULONG)pdg.SectorsPerTrack * (ULONG)pdg.BytesPerSector;
printf("Disk size = %I64d (Bytes) = %I64d (Gb)\n", DiskSize,
DiskSize / (1024 * 1024 * 1024));
}
else
{
printf ("GetDriveGeometry failed. Error %ld.\n", GetLastError ());
}
return ((int)bResult);
}
这里有各种代码
雪影
2009-08-05
打赏
举报
回复
现成的代码,希望对你有帮助
http://d.download.csdn.net/source/260722
VC++
获取
网卡MAC、
硬盘
序列号、CPU ID、BIOS编号
在
获取
硬盘
序列号时,我们首先需要判断操作系统是否为Windows NT或更高版本,然后调用WinNTHDSerialNumAsPhysicalRead函数或WinNTHDSerialNumAsScsiRead函数
获取
硬盘
序列号。 第三部分:
获取
CPU ID CPU ID是中央...
Linux c
获取
硬盘
信息
Linux c
获取
硬盘
信息
,例如剩余磁盘空间大小
DeviceIoControl
获取
硬盘
信息
DeviceIoControl
获取
硬盘
信息
实战DeviceIoControl 之四:
获取
硬盘
的详细
信息
用IOCTL_DISK_GET_DRIVE_GEOMETRY或IOCTL_STORAGE_GET_MEDIA_TYPES_EX只能得到很少的磁盘参数,我想获得包括
硬盘
序列号在内的更加详细的
信息
,有什么办法呀? A 确实,用你所说的I/O控制码,只能得到最
基本
的磁盘...
java中如何
获取
磁盘已用空间_Java怎么获得
硬盘
剩余空间?
java中可以使用file对象,
获取
当前电脑
硬盘
基本
信息
,示例如下:import java.io.File; public class DiskSpaceDetail { public static void main(String[] args) { File diskPartition = new File("C:"); long ...
硬件/系统
2,644
社区成员
17,232
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章