win遍历所有硬件
来源:互联网 发布:哈尔滨学院教务网络管 编辑:程序博客网 时间:2024/06/05 04:54
//! <span style="font-family: Arial, Helvetica, sans-serif;">遍历完所有磁盘,我们还很蛋疼地想遍历所有硬件。</span>
<span style="font-family: Arial, Helvetica, sans-serif;"></span>
#include "stdafx.h"#include <stdio.h>#include <windows.h>#include <setupapi.h>#include <devguid.h>#include <regstr.h>#include <locale.h>int main( int argc, char *argv[ ], char *envp[ ] ){ setlocale(LC_ALL, "chs"); HDEVINFO hDevInfo; SP_DEVINFO_DATA DeviceInfoData; DWORD i; // Create a HDEVINFO with all present devices. hDevInfo = SetupDiGetClassDevs(NULL, 0, // Enumerator 0, DIGCF_PRESENT | DIGCF_ALLCLASSES ); if (hDevInfo == INVALID_HANDLE_VALUE) { // Insert error handling here. return 1; } // Enumerate through all devices in Set. DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA); for (i=0;SetupDiEnumDeviceInfo(hDevInfo,i, &DeviceInfoData);i++) { DWORD DataT; LPTSTR buffer = NULL; DWORD buffersize = 0; // // Call function with null to begin with, // then use the returned buffer size // to Alloc the buffer. Keep calling until // success or an unknown failure. // while (!SetupDiGetDeviceRegistryProperty( hDevInfo, &DeviceInfoData, SPDRP_DEVICEDESC, &DataT, (PBYTE)buffer, buffersize, &buffersize)) { if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) { // Change the buffer size. if (buffer) LocalFree(buffer); buffer = (LPTSTR)LocalAlloc(LPTR,buffersize); } else { // Insert error handling here. break; } } _tprintf(_T( "Result: %s\n "),buffer); if (buffer) LocalFree(buffer); } if ( GetLastError()!=NO_ERROR && GetLastError()!=ERROR_NO_MORE_ITEMS ) { // Insert error handling here. return 1; } // Cleanup SetupDiDestroyDeviceInfoList(hDevInfo); system( "pause"); return 0;}
0 0
- win遍历所有硬件
- win 遍历所有文件 FindFirstFile
- win遍历所有本地/网络磁盘
- win/linux遍历目录
- C++ WIN 文件夹遍历
- WIN下遍历文件夹
- win编程---遍历文件
- WIN 设备遍历
- 所有硬件检测工具全集
- Win 7 下如何添加硬件
- Linux查看硬件所有信息
- 遍历系统硬件设备信息
- 遍历所有子集
- 遍历所有窗口句柄
- 遍历所有菜单项
- 遍历所有路径
- 遍历所有顶层窗口
- 遍历本地所有文件
- build Intent
- 线段树单点更新+区间更新+离散化
- make到cmake简介
- hdu1106-排序
- Jmeter基础之---jmeter基础概念
- win遍历所有硬件
- 利用指针排序
- 对 Linux 新手非常有用的 20 个命令
- undefined与null的区别
- GSC3280开发板
- 免费WiFi是福是祸
- swift 中怎么取得UIApplication的对象实例,并且利用appdelegate传值~
- MySQL死锁导致无法查询
- sys/class/gpio下的gpio操作(KE210)