Форум программистов, компьютерный форум CyberForum.ru

Отслеживание количества отправленных и скачаных байт - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ DLL in VC++. Создание, загрузка, использование. http://www.cyberforum.ru/cpp-beginners/thread460652.html
Как известно, в VC++ имеется несколько типов Dll: 1.Non-MFC DLLs; 2.Regular DLLs Statically Linked to MFC; 3.Regular DLLs Dynamically Linked to MFC; 4.Extension DLLs. Имеется также несколько способов подсоединения(загрузки) Dll: 1.Implicit linking; 2.Explicit linking. Вопросы: Как взаимодействуют различные dll с разными способами загрузки с приложениями API и с приложениями MFC?
C++ Кто нибудь знает, что случилось с http://www.codemanual.com? Я знаю что он переехал на http://www.codemanual.net, но эта ссылка тоже не работает :( Буду рад услышать хоть какую-то информацию. Заранее благодарю. http://www.cyberforum.ru/cpp-beginners/thread460643.html
Как сделать модальным вид на базе CFormView C++
Подскажите, как можно добиться модальности работы для вида на базе CFormView.
C++ Потерял ТАБ с контролами в VC++??
Куда-то задвинул сабж и не знаю как его вытащить Подскажите! Заранее спасибо!
C++ Как открыть поля БД Access'a в Билдере http://www.cyberforum.ru/cpp-beginners/thread460620.html
Проблема вся в том что поля и таблицы назавны русскими именами. В общем-то Билдеру должно быть все равно, но он выдает вместо имен значки #####.
C++ Печать на USB-принтере, открытом как файл В MSDN есть классный способ печати: #include <stdio.h> main() { FILE *stream; stream = fopen('PRN', 'w'); fprintf(stream, 'a line of text '); подробнее

Показать сообщение отдельно
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 17
22.05.2012, 17:07     Отслеживание количества отправленных и скачаных байт
Есть такой пример, только я в не разбирался

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <iostream>
#include <windows.h>
#include <iphlpapi.h>
 
#pragma comment(lib, "iphlpapi.lib")
 
#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))
 
using namespace std;
//-------------------------------------------------------------------------------
char *GetTypeInterface(DWORD type)
{
 switch(type)
  {
  case IF_TYPE_OTHER:return "Other";
  case IF_TYPE_ETHERNET_CSMACD:return "Ethernet";
  case IF_TYPE_ISO88025_TOKENRING:return "Token Ring";
  case IF_TYPE_PPP:return "PPP";
  case IF_TYPE_SOFTWARE_LOOPBACK:return "Software Lookback";
  case IF_TYPE_ATM:return "ATM";
  case IF_TYPE_IEEE80211:return "IEEE 802.11 Wireless";
  case IF_TYPE_TUNNEL:return "Tunnel type encapsulation";
  case IF_TYPE_IEEE1394:return "IEEE 1394 Firewire";
  default:return "Unknow type";
  }
}
//-------------------------------------------------------------------------------
void SpeedToStr(DWORD value)
{
 unsigned KB=1024;
 unsigned MB=KB*1024;
 unsigned GB=MB*1024;
 
 if(value<KB) cout<<value<<" BpS";
 else  if(value<MB)
      {
      double r = value/KB;
      cout<<r<<" KBpS";
      }
      else  if(value<GB)
              {
              double r = value/MB;
              cout<<r<<" MBpS";
              }
}
//-------------------------------------------------------------------------------
void GetTraff(int count)
{
 int KB=1024;
 int MB=KB*1024;
 int GB=MB*1024;
 
 if(count<KB)cout<<count<<" B";
 else if(count<MB)
     {
     double r = count/KB;
     cout<<r<<" KB";
     }
     else  if(count<GB)
           {
           double r = count/MB;
           cout<<r<<" MB";
           }
}
//-------------------------------------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
system("chcp 1251");
 
   cout<<".:===Connection information by los8005===:."<<endl;
 
    DWORD dwSize = 0;    DWORD dwRetVal = 0;
 
    int i;
 
    MIB_IFTABLE *pIfTable;    MIB_IFROW *pIfRow;
 
    pIfTable = (MIB_IFTABLE *)MALLOC(sizeof(MIB_IFTABLE));
 
    dwSize = sizeof(MIB_IFTABLE);    if(GetIfTable(pIfTable,&dwSize, false) == ERROR_INSUFFICIENT_BUFFER){        FREE(pIfTable);        pIfTable = (MIB_IFTABLE *) MALLOC(dwSize);    }
 
    if((dwRetVal = GetIfTable(pIfTable,&dwSize,false))== NO_ERROR)
 
for(i = 0;i<(int)pIfTable->dwNumEntries;i++){
pIfRow = (MIB_IFROW *)&pIfTable->table[i];
cout<<"Interface type: "<<GetTypeInterface(pIfRow->dwType)<<endl<<"Speed: ";
SpeedToStr(pIfRow->dwSpeed);
cout<<", Output traffic: ";
GetTraff(pIfRow->dwOutOctets);
cout<<", Input traffic: ";
GetTraff(pIfRow->dwInOctets);
cout<<endl<<".:==================NEXT=================:."<<endl<<endl;        }
 
cout<<".:===Connection information by los8005===:."<<endl;
cout<<".:==PRESS ANY KEY TO CLOSE THIS WINDOWS==:."<<endl;
 
system("pause");
return 0;
}
//---------------------------------------------------------------------------
Исходник на Builder2009:
 
Текущее время: 04:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru