枚举系统中已经安装的所有硬件设备

作者在 2007-01-13 17:51:00 发布以下内容

实现的主要部分代码:

#include <setupapi.h>
#include <devguid.h>
#include <regstr.h>
#pragma comment(lib,"Setupapi.lib")

 CListBox m_strList;

........

枚举所有硬件设备的主要实现代码:

    m_strList.ResetContent();
 
    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_)
    {
        // Insert error handling here.
        return ;
    }
   
    // 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 with null to begin with,
        // then use the returned buffer size
        // to Alloc the buffer. Keep calling until
   &

默认分类 | 阅读 1483 次
文章评论,共0条
游客请输入验证码
浏览98359次