社区
硬件/系统
帖子详情
如何获取硬盘的基本信息?
mickyo
2009-08-05 04:31:41
最好能贴些代码,实在忙啊,都没空找了,先谢谢了.
...全文
217
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
裸机安装_对刻
硬盘
ghost clonezilla
课程简介: ghost 对磁盘复制或者备份,是介于blocks 块之间的复制,它与磁盘中安装的文件个数、格式或大小无关。即该工具无需了解
硬盘
中装了什么格式的文件或操作系统,介于磁盘块存储中可以快速高效的备份,它虽然和当前流行的Clonezilla工具相比,不能够利用网络来传输文件,但是如果在可以拆开主机,接触到
硬盘
的工作环境中,ghost工具比clonezilla更高效,操作步骤更便捷,更易用。所以说是它是安装一批相同硬件主机的必杀技。 同时,ghost工具也可以对当前运行系统良好状态的做主机做物理快照,或对初装良好状态系统先做备份,当各色原因导致出现问题时,可以快速恢复而无需重新装机。 发挥你的想象力,可以将这款运维神器发挥到各种生产环境中!
Linux c
获取
硬盘
信息
Linux c
获取
硬盘
信息
,例如剩余磁盘空间大小
java中如何
获取
磁盘已用空间_Java怎么获得
硬盘
剩余空间?
java中可以使用file对象,
获取
当前电脑
硬盘
基本
信息
,示例如下:import java.io.File; public class DiskSpaceDetail { public static void main(String[] args) { File diskPartition = new File("C:"); long totalCapaci...
VB.NET利用WMI
获取
操作系统所在
硬盘
序列号
本人最近在研究license设计,很多商业软件的license通常利用网卡MAC地址来生成,而电脑的MAC地址容易更改,难以保证license的控制。于是想到利用
硬盘
序列号来生成license。而一台电脑往往有多块
硬盘
,并且根据用户需求可能会增加
硬盘
,用哪一块
硬盘
的序列号呢?很自然想到了系统所在的
硬盘
,因为系统所在的盘一般不会动,除非重装系统到另一块
硬盘
。 在windows系统中很容易直接查到系统盘在哪块
硬盘
上:右键我的电脑——管理——磁盘管理,在下方图示区域很容易看到系统在...
C/C++
获取
操作系统、CPU、内存
信息
、
硬盘
、IP和MAC、进程
信息
(windows和linux)
有时候需要在工程里面
获取
一些系统或者硬件的
信息
,比如系统版本,cpu,内存,显卡,
硬盘
,网络等,作为后续软件功能判断的依据,甚至参与性能算法自适应建模 Windows 操作系统和内存
信息
在windows下通过系统的API来
获取
,CPU
信息
则需要需要通过底层CPUID指令取得 代码: #include <iostream> #include <string> #i...
硬件/系统
2,640
社区成员
17,239
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章