如何获取网卡的数量,及检测速度是100MB还是1000MB

解决方案 »

  1.   

    下ipconfig /all裡面有你想要的信息!
    Description . . . . . . . . . . . : Broadcom 440x 10/100 Integrated Cont
      

  2.   

    转:
       可利用SDK API:GetAdaptersInfo以及GetIfEntry实现。 
        GetAdaptersInfo返回系统中的所有网卡信息。 
        GetIfEntry则返回制定网口的速率、状态等信息。 
        如果觉得将相关数据结构改造到VB下很痛苦的话,可编写一个短小的DLL完成网口检测工作,并仅返回检测结果即可。 
        VC代码: 
        DWORD dwOutBufLen=0; 
         
         PIP_ADAPTER_INFO pAdapterInfo=NULL,pAdapter=NULL; 
         
         MIB_IFROW zSNMP; 
         
         char sTemp[20]; 
         
         int iReturn; 
         
         
         
         iReturn=GetAdaptersInfo(pAdapterInfo,&dwOutBufLen); 
         
         if(iReturn!=ERROR_BUFFER_OVERFLOW) 
         
         { 
         
         return 0; 
         
         } 
         
         
         
         pAdapterInfo =(PIP_ADAPTER_INFO) HeapAlloc(GetProcessHeap(), 0, dwOutBufLen); 
         
         iReturn=GetAdaptersInfo(pAdapterInfo,&dwOutBufLen); 
         
         if(iReturn!=ERROR_SUCCESS) 
         
         { 
         
         HeapFree(GetProcessHeap(), 0, pAdapterInfo); 
         
         return 0; 
         
         } 
         
         pAdapter=pAdapterInfo; 
         
         
         
         //find if there is ppp adapter 
         
         while(pAdapter!=NULL ) 
         
         { 
         
         zSNMP.dwIndex = pAdapter->Index; 
         
         iReturn=GetIfEntry(&zSNMP); 
         
         if(iReturn!=NO_ERROR) 
         
         return 0; 
         
         
         
         m_iIfSpeed=zSNMP.dwSpeed/(1000*1000); 
         
         m_iIfAdminStatus=zSNMP.dwAdminStatus; 
         
         m_iIfOperStatus=zSNMP.dwOperStatus; 
         
         … 
         
         pAdapter=pAdapter->Next; 
         
         }