社区
硬件/系统
帖子详情
如何获取硬盘的基本信息?
mickyo
2009-08-05 04:31:41
最好能贴些代码,实在忙啊,都没空找了,先谢谢了.
...全文
267
2
打赏
收藏
如何获取硬盘的基本信息?
最好能贴些代码,实在忙啊,都没空找了,先谢谢了.
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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
python
获取
mac os电脑
硬盘
序列号,python
获取
电脑
基本
信息
的gui,界面比较丑,为什么
硬盘
序列号有些电脑
获取
的不对,有没有其他办法
获取
硬盘
序列号的...
from tkinter import *import wmiimport socketc = wmi.WMI()def hard_id():for physical_disk in c.Win32_DiskDrive():var = physical_disk.SerialNumbert.insert('insert', "
硬盘
序列号:\n")t.insert('insert', var)def...
java
获取
服务器的
基本
信息
,监控服务器cup,内存,带宽、
硬盘
【代码】java
获取
服务器的
基本
信息
,监控服务器cup,内存,带宽、
硬盘
。
获取
硬盘
型号、序列号等
信息
的正确姿势
一般地,如果略去复杂的过滤驱动,读写文件时控制流会依次经过文件系统驱动(ntfs.sys或fastfat.sys等)、卷管理驱动(volmgr.sys)、分区管理驱动(partmgr.sys)、磁盘类驱动(disk.sys和classpnp.sys)、存储设备端口驱动(storport.sys、scsiport.sys和ataport.sys三者之一)和小端口驱动(storachi.sys、stornvme.sys或usbstor.sys等)等。
linux下查看
硬盘
型号、大小等
信息
1.查看
硬盘
型号 fdisk -l //查看你的
硬盘
编号,如sda,sdb 等 [root@root web]# fdisk -l Disk /dev/sda: 300.0 GB, 299966445568 bytes, 585871964 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (log...
实战DeviceIoControl 之四:
获取
硬盘
的详细
信息
P.bhw98{ PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 9pt; PADDING-BOTTOM: 0px; MARGIN: 10px 0px 5px; LINE-HEIGHT: normal; PADDING-TOP: 0px; FONT-FAM
硬件/系统
2,644
社区成员
17,229
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章