如果我的机器是拨号上网,有没有接口可以查询到当前的流量(也就是双击系统栏中的图标出现的发送:**,接收:**)我想得到这两个数据,有没有办法,谢谢,分数不够,我另开帖子给我,或者联系我:[email protected] 我现在可用分有9173,要可以全部给
解决方案 »
- 求 网狐游戏 机器人代码
- 大家来讨论下这个奇怪的问题!!!!!
- 我在一个dialog里执行一些语句之后, 要关闭当前dialog并最小化父窗口,为什么有时候报错?
- 关于glFlush,请指教,谢谢
- CEdit的派生类的OnLButtonDbClk()中,用SetSel()想高亮显示选中行,无效???? 哪里有问题呢? 谢谢
- 散分3000给会数据结构的朋友
- 请教自定义消息
- 新手简单问题:大家快来帮我看一下这段代码
- winform程序多次收到WM_DEVICECHANGE 里的DBT_DEVICEREMOVECOMPLETE消息
- 自定义消息的用法?
- 以前当hub使的交换机 现在要配个ip(本人要用snmp编程查询),有show ip interface信息,各位帮看一下(up有分)
- COM中的数据类型
没必要把你分全要了,给2000分就可以了
我整理一下,然后给你发email吧
#include <stdio.h>
#include <conio.h>
#include <tchar.h>
#include <pdh.h>#pragma comment (lib, "pdh.lib")#define SAMPLE_INTERVAL_MS 1000
#define MAXPATH 80int __cdecl _tmain (int argc, TCHAR **argv)
{ HQUERY hQuery;
HCOUNTER *pCounterHandle;
PDH_STATUS pdhStatus;
PDH_FMT_COUNTERVALUE fmtValue;
DWORD ctrType;
SYSTEMTIME stSampleTime;
PDH_BROWSE_DLG_CONFIG BrowseDlgData;
TCHAR szPathBuffer[MAXPATH];
int nRetCode = 0; // Open the query object.
pdhStatus = PdhOpenQuery (0, 0, &hQuery); // Allocate the counter handle array. Allocate room for
// one handle per command line arg, not including the
// executable file name.
pCounterHandle = (HCOUNTER *)GlobalAlloc(GPTR, sizeof(HCOUNTER)); // Zero the contents of the structure.
memset (&BrowseDlgData, 0, sizeof(PDH_BROWSE_DLG_CONFIG)); // Initialize the browser dialog window settings.
BrowseDlgData.bIncludeInstanceIndex = FALSE;
BrowseDlgData.bSingleCounterPerAdd = TRUE;
BrowseDlgData.bSingleCounterPerDialog = TRUE;
BrowseDlgData.bLocalCountersOnly = FALSE;
BrowseDlgData.bWildCardInstances = TRUE;
BrowseDlgData.bHideDetailBox = TRUE;
BrowseDlgData.bInitializePath = FALSE;
BrowseDlgData.bDisableMachineSelection = FALSE;
BrowseDlgData.bIncludeCostlyObjects = FALSE;
BrowseDlgData.bReserved = TRUE;
BrowseDlgData.hWndOwner = NULL;
BrowseDlgData.bReserved = FALSE;
BrowseDlgData.szReturnPathBuffer = szPathBuffer;
BrowseDlgData.cchReturnPathLength = MAXPATH;;
BrowseDlgData.pCallBack = NULL;
BrowseDlgData.dwCallBackArg = 0;
BrowseDlgData.CallBackStatus = ERROR_SUCCESS;
BrowseDlgData.dwDefaultDetailLevel = PERF_DETAIL_WIZARD;
BrowseDlgData.szDialogBoxCaption = "Select a counter to monitor."; // Display the counter browser window.
pdhStatus = PdhBrowseCounters (&BrowseDlgData); pdhStatus = PdhAddCounter (hQuery,
szPathBuffer,
0,
pCounterHandle); // "Prime" counters that need two values to display a
// formatted value.
pdhStatus = PdhCollectQueryData (hQuery); // Print counter values until a key is pressed.
while (!_kbhit()) { // Wait one interval.
Sleep(SAMPLE_INTERVAL_MS); // Get the sample time.
GetLocalTime (&stSampleTime); // Get the current data values.
pdhStatus = PdhCollectQueryData (hQuery); // Print the time stamp for the sample.
_tprintf (TEXT("\n\"%2.2d/%2.2d/%4.4d %2.2d:%2.2d:%2.2d.%3.3d\""),
stSampleTime.wMonth,
stSampleTime.wDay,
stSampleTime.wYear,
stSampleTime.wHour,
stSampleTime.wMinute,
stSampleTime.wSecond,
stSampleTime.wMilliseconds); // Get the current value of this counter.
pdhStatus = PdhGetFormattedCounterValue (*pCounterHandle,
PDH_FMT_DOUBLE,
&ctrType,
&fmtValue); if (pdhStatus == ERROR_SUCCESS) {
_tprintf (TEXT(",\"%.20g\""), fmtValue.doubleValue);
} else { // Print the error value.
_tprintf (TEXT(".\"-1\""));
}
} // Close the query.
pdhStatus = PdhCloseQuery (hQuery); return nRetCode;
}运行时,性能对象选Network Interface
计数器,选你想要的
实例你也自己看着选,然后确定就可以了要退出的话,随便敲一下键盘就可以了
你通过运行子程序的方法来获得吧netsh.exe -c "interface ip" show interface 本地连接上面这个命令可以获得本地连接这个接口的数据
以下是在我机器上运行的结果C:\symbols>netsh -c "interface ip" show interface 本地连接MIB-II 接口信息
------------------------------------------------------
索引: 65540
用户好记的名称: 本地连接
GUID 名称: {A0C5C680-C58B-4593-B953-AD8757E98FAC}
类型: Ethernet
MTU: 1500
速度: 100000000
物理地址: 00-E0-4C-67-16-8C
Admin 状态: 启用
操作状态: 可操作
上次更改: 1181125160
输入字节数: 43592145
输入的 Unicast 数据包: 58927
输入的 Non-unicast 数据包: 321910
丢弃的输入数据包: 0
输入的错误包: 0
输入的未知协议数据包: 8830
输出字节数: 6355629
输出的 Unicast 数据包: 65476
输出的 Non-unicast 数据包: 191
丢弃的输出数据包: 0
输出的错误数据包: 0
输出队列长度: 0
描述: Realtek RTL8139 Family PCI Fast Ethernet NICC:\symbols>
你要的结果就在这里面,你和界面上的数据比较一下就知道该取哪些数据了如果要得到所有连接的数据,就运行
netsh.exe -c "interface ip" show interface
iid分别为
{FAEDCF53-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF55-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF56-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF57-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF58-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF59-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF5B-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF5C-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF5D-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF5F-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF60-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF64-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF65-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF66-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF67-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF68-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF69-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF6A-31FE-11D1-AAD2-00805FC1270E}
{FAEDCF6B-31FE-11D1-AAD2-00805FC1270E}也就我上面后来说的那个方法实用一些 :(