社区
硬件/系统
帖子详情
如何获取硬盘的基本信息?
mickyo
2009-08-05 04:31:41
最好能贴些代码,实在忙啊,都没空找了,先谢谢了.
...全文
260
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,界面比较丑,为什么
硬盘
序列号有些电脑
获取
的不对,有没有其他办法
获取
硬盘
序列号的...
这是一个使用Python编写的GUI应用程序,通过Tkinter库和WMI模块
获取
并显示Windows系统的硬件
信息
,包括
硬盘
序列号、CPU序列号、主板序列号、MAC地址、BIOS序列号以及IP和系统名称。用户可以通过点击按钮选择要查看的
信息
。
java
获取
服务器的
基本
信息
,监控服务器cup,内存,带宽、
硬盘
本文介绍了一种使用Java通过SSH远程监控Linux服务器资源的方法,包括CPU、内存、
硬盘
和网络使用情况。利用JSch库建立SSH连接,执行shell命令
获取
服务器状态,适用于系统监控和资源管理场景。
获取
硬盘
型号、序列号等
信息
的正确姿势
本文围绕Windows系统展开,介绍了磁盘、分区和卷的对象名与符号链接,阐述了打开设备对象的方法。还详细讲解了
获取
硬盘
基本
信息
的通用方法,以及使用SCSI INQUIRY命令、针对NVMe和SAT协议
获取
信息
的方式,最后对网上流传的
获取
硬盘
序列号代码进行了解析。
linux下查看
硬盘
型号、大小等
信息
本文介绍了在Linux系统中如何查看
硬盘
型号、大小、详细
信息
以及判断
硬盘
类型(SSD或HDD)。通过`fdisk -l`可以查看
硬盘
编号和
基本
信息
,使用`smartctl --all`
获取
硬盘
详细
信息
,利用`cat /sys/block/sda/queue/rotational`判断
硬盘
是否为SSD,并用`lsblk`列出所有存储设备。
实战DeviceIoControl 之四:
获取
硬盘
的详细
信息
通过实战示例,介绍如何使用ATA/APAPI的IDENTIFY DEVICE指令来
获取
硬盘
的详细
信息
,包括
硬盘
序列号。文章指出,IOCTL_DISK_GET_DRIVE_GEOMETRY和IOCTL_STORAGE_GET_MEDIA_TYPES_EX只能提供
基本
参数,而IDENTIFY DEVICE指令可以
获取
更全面的数据。但要注意,这种方法可能不适用于所有类型的存储设备,如SCSI、USB
硬盘
和某些可移动设备。
硬件/系统
2,644
社区成员
17,229
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章