获取硬盘名字

原创 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;
}

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

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

修改后的,可以直接拿来在MFC中使用。
  • ILOVEYOULEEHUIJIE
  • ILOVEYOULEEHUIJIE
  • 2014年11月13日 16:11
  • 5912

QStorageInfo获取磁盘信息

QStorageInfo类提供了系统当前挂载的存储和驱动器的相关信息,包括它们的空间,挂载点,标签名,文件系统名。...
  • Amnes1a
  • Amnes1a
  • 2017年04月13日 10:26
  • 881

Qt 获取硬盘可用字节

在Windows上,Qt 不能直接获取硬盘字节数,以及可用字节数。需要调用Windows API来获取。 获取方法很简单,只需要调用GetDiskFreeSpaceEx API就可以得到我们想要的结...
  • u011417605
  • u011417605
  • 2016年05月30日 11:33
  • 1973

QT读取系统信息--磁盘管理器

  • 2009年10月06日 19:04
  • 2KB
  • 下载

检测本机所有的串并端口(vs2003调试通过)

检测本机所有的串并端口#include typedef HKEY (__stdcall SETUPDIOPENDEVREGKEY)(HDEVINFO, PSP_DEVINFO_DATA, DWORD,...
  • SworderAndy
  • SworderAndy
  • 2007年12月29日 12:33
  • 2558

获取硬盘名字

#include #include #include #include #pragma comment(lib,"setupapi.lib") int main(void) { ...
  • qq125096885
  • qq125096885
  • 2016年08月29日 18:05
  • 486

VB6 API获取并口、串口端口名和友好名

Option Explicit Private Type GUID 'GUID数据类型 Data(0 To 3) As Long End Type Private Type...
  • u013082684
  • u013082684
  • 2015年07月27日 15:36
  • 1742

用JAVA获取硬盘序列号的方法

希捷(Seagate)迈拓(Maxtor)西部数据(Western Digital)三星(SAMSUNG) 日立(HITACHI)等硬盘都有自己规定方式编号的硬盘序列号,所谓序列号就是硬盘编号。硬盘序...
  • wugouzi
  • wugouzi
  • 2014年05月07日 00:09
  • 4828

Qt获取本机硬盘序列号,不受IDE硬盘与SCSI硬盘类型影响

以下是在Qt下可以直接使用的代码,如果想在其他平台使用请修改一些内容: #pragma argsused #define DFP_GET_VERSION 0x00074080 #defin...
  • Heyuzhe1996
  • Heyuzhe1996
  • 2017年03月30日 10:52
  • 1835

Methods Collection of Enumerating Com Port in Windows, by C

According to this stack overflow thread, PJ Naughter has implemented 9 methods to emunerate com por...
  • u013606170
  • u013606170
  • 2015年07月16日 02:58
  • 941
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取硬盘名字
举报原因:
原因补充:

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