如题

解决方案 »

  1.   

    用GetAdapterInfo得到某个时间通过网卡的流量,然后计算一段时间内的平均值就可以算出了
      

  2.   

    先熟悉一下GetAdapterInfo这个API,然后就知道怎么作了
      

  3.   

    你是计算当前程序的还是本机全部的流量?
    本机全部的流量可以用SNMP
    netpersec就是用这个来实现流量查看的
    m_hInstIpHlp = LoadLibraryEx( "iphlpapi.dll", NULL, 0 );
    if( m_hInstIpHlp )
    {
        m_fpGetIfEntry = (fpGetIfEntry)GetProcAddress(m_hInstIpHlp,"GetIfEntry" );int CSnmp::IPHelper( DWORD* pReceived, DWORD *pSent)
    {
    int i;
    MIB_IFROW mib;
    ZeroMemory( &mib, sizeof(mib) ); *pReceived = 0;
    *pSent = 0;    int interfaces = m_InterfaceArray.GetSize( );
    for( i = 0; i < interfaces; i++ )
    {
    mib.dwIndex = m_InterfaceArray.GetAt( i );
    if( m_fpGetIfEntry( &mib ) == NO_ERROR )
    {
    //if( mib.dwType == 6 || mib.dwType == 23 ) //you could specify interface types here
    {
    *pReceived += mib.dwInOctets;
    *pSent += mib.dwOutOctets;
    }
    }
    }
     
    return( TRUE );
    }
      

  4.   

    mib里面可以得到输入输出的字节数(dwInOctets),包数(dwInUcastPkts)等,可以选择