各位:请指教一下如何获得网卡,硬盘,硬件序列号(不看硬件)
谢谢,满意者定有分相送。。

解决方案 »

  1.   

    前面的帖子中有这样的代码http://expert.csdn.net/Expert/topic/864/864073.xml?temp=.6251337http://www.vchelp.net/vchelp/archive.asp?type_id=73&class_id=1&cata_id=2&article_id=448
      

  2.   

    http://expert.csdn.net/Expert/topic/1299/1299186.xml?temp=.2643549搜索以下有很多的
      

  3.   

    //retrieve a set of all devices on the Peripheral Component Interconnect (PCI) 
    //bus. 
        HDEVINFO hPciDevInfo = SetupDiGetClassDevs(NULL,REGSTR_KEY_PCIENUM,0,
     DIGCF_PRESENT | DIGCF_ALLCLASSES );   if (hPciDevInfo == INVALID_HANDLE_VALUE)   return ;// Show all related device in the PCI set
        DisplayDriverDsp(hPciDevInfo);void CTestDlg::DisplayDriverDsp(HDEVINFO hDevInfo)
    {
        SP_DEVINFO_DATA DeviceInfoData;
    DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA); TCHAR buffer[MAX_PATH];
    ZeroMemory(buffer, MAX_PATH); HKEY hCurKey;
    CString strConstKey;
    HKEY hRootKey = HKEY_LOCAL_MACHINE;
    if (bIsNt)
    strConstKey = "SYSTEM\\CurrentControlSet\\Control\\Class\\";
    else
    strConstKey = "SYSTEM\\CurrentControlSet\\Services\\Class\\"; /*DWORD dwI, dwValueType;
    TCHAR szValueName[MAX_PATH];
    TCHAR szValueData[MAX_PATH];
    ZeroMemory(szValueName, MAX_PATH);
    ZeroMemory(szValueData, MAX_PATH);
    DWORD dwVNameSize, dwVDataSize;
    dwVNameSize = MAX_PATH;
    dwVDataSize = MAX_PATH;*/    for (DWORD i=0;SetupDiEnumDeviceInfo(hDevInfo,i,&DeviceInfoData);i++)
        {
            SetupDiGetDeviceRegistryProperty(hDevInfo, &DeviceInfoData, 
     SPDRP_DRIVER, NULL, 
     (PBYTE)buffer, MAX_PATH, NULL);
    CString strKey = strConstKey;
    strKey += buffer;
    if (ERROR_SUCCESS != ::RegOpenKey(hRootKey, (LPCSTR)strKey, &hCurKey))
    {
    TRACE("%d", GetLastError());
    return;
    }

                      // Get the driver description
    DWORD dwType = REG_SZ;
    if (ERROR_SUCCESS != ::RegQueryValueEx(hCurKey, "DriverDesc", NULL, 
    &dwType, (LPBYTE)szValueData, &dwVDataSize))
    return;                  // Get provider name
    if (ERROR_SUCCESS != ::RegQueryValueEx(hCurKey, "ProviderName", NULL, 
    &dwType, (LPBYTE)szValueData, &dwVDataSize))
    return;                   // Retrieve version: if (ERROR_SUCCESS != ::RegQueryValueEx(hCurKey, "Ver", NULL, 
    &dwType, (LPBYTE)szValueData, &dwVDataSize))
    return;
          } // for
    }