获取硬盘名字

原创 2016年08月29日 18:05:19
#include <windows.h>
#include <stdio.h>
#include <initguid.h>
#include <setupapi.h>
#pragma comment(lib,"setupapi.lib")



int main(void)
{

	
	for (int i = 0;; i++)
	{
		GUID objGuid = { 0 };
		DWORD  dwSize = 0;
		//'获取类名为"Ports"的GUID
		if (SetupDiClassGuidsFromName("DiskDrive", &objGuid, 1, &dwSize) == FALSE)
		{
			int a = GetLastError();
			return 0;
		}

		//'根据串口GUID获取设备句柄
		HDEVINFO 	hDevInfo = SetupDiGetClassDevs(&objGuid, 0, 0, DIGCF_PRESENT | DIGCF_PROFILE);
		if (INVALID_HANDLE_VALUE == hDevInfo)
		{
			int a = GetLastError();
			return 0;
		}

		//'根据设备句柄检举包含的设备
		SP_DEVINFO_DATA  objSpdd = { 0 };
		objSpdd.cbSize = sizeof(objSpdd);

		if (SetupDiEnumDeviceInfo(hDevInfo, i, &objSpdd) == FALSE)
		{
			int a = GetLastError();
			return 0;
		}

		// 根据dwIndex设备句柄请求FRIENDLYNAME访问
		BYTE PropertyBuffer[MAX_PATH] = { 0 };
		if (SetupDiGetDeviceRegistryProperty(hDevInfo, &objSpdd, SPDRP_FRIENDLYNAME, 0, PropertyBuffer, MAX_PATH, &dwSize) == FALSE)
		{
			int a = GetLastError();
			return 0;
		}
		printf("%s\n", PropertyBuffer);

	}
	/*
	ST1000DM003-1SB10C
	INTEL SSDSC2BW240H6
	INTEL SSDSC2KW120H6
	TOSHIBA USB FLASH DRIVE USB Device
	请按任意键继续. . .
	*/

	getchar();
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

程序实现启用/禁用设备(驱动)enable/disable device with windows api

懒人也动笔了;2009-09-25程序实现启用/禁用设备(驱动)—— enable/disable device (driver) with windows api需求:    用程序实现类似设备管理...

获取硬盘序列号,computerID,硬盘名称等 win7

修改后的,可以直接拿来在MFC中使用。

【MFC】获取磁盘名称和遍历磁盘目录方法

分享三个MFC获取磁盘名称和目录的方法 void CGetLogicalDriveStringsDlg::getlogdrv() { //获取所有盘符 CComboBox m...

USB 设备热插拔的检测

系统检测USB 设备往往分为两个过程: 1. USB 设备已经插入, 打开软件。 此时需要枚举当前设备列表中所有的设备,并过滤指定的USB 设备。 2. 打开软件后, USB 热插拔 。 ...

大硬盘分区工具名字:DISKGEN

  • 2010年10月21日 20:59
  • 1.74MB
  • 下载

sqlserver 获取表名字段信息

  • 2015年06月18日 13:49
  • 193KB
  • 下载

从字体文件中获取字体名字

Introduction Everyone can get a font name of one of installed fonts. But what if the font is still ...

获取当前Activity及Fragment名字

在我们接手一个新项目,或者是拿到一份android程序源码的时候,要快速找到需要的代码,该从何下手呢?当然是从看得见的部分——Activity和Fragment下手。如果app的每个功能页面,你都能知...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取硬盘名字
举报原因:
原因补充:

(最多只允许输入30个字)