lin6051 发表于 2013-3-7 14:04:21

[已解决]如何获取网卡占用的网速(网卡产生的所有流量)

本帖最后由 lin6051 于 2013-3-9 11:02 编辑

我描述得不清楚,

比方说我同时开了多个下载程序产生的总速度, 本地速度+网络速度
360,金山卫士的 流量监控那里有这功能

论坛找到了:搜索关键字:流量

结果见楼下...

lpxx 发表于 2013-3-7 14:37:54

本帖最后由 lpxx 于 2013-3-7 14:39 编辑

自己去折腾吧。



cvwyg 发表于 2013-3-7 16:40:08

本帖最后由 cvwyg 于 2013-3-7 17:43 编辑

感谢分享~!!!看不懂啊~!能不能给出核心代码~?

huangwei 发表于 2013-3-7 22:14:44

关注过·········

lin6051 发表于 2013-3-8 11:27:20

看得头大啊 而且还不能运行

lin6051 发表于 2013-3-9 11:05:02

论坛找到可行简短代码:#include <String.au3>
#include <GUIConstantsEx.au3>
$Form1 = GUICreate("Form1", 192, 67, 445, 376)
$Label1 = GUICtrlCreateLabel("上传速度:", 24, 8, 55, 17)
$Label2 = GUICtrlCreateLabel("0", 88, 8, 100, 17)
$Label3 = GUICtrlCreateLabel("0", 88, 32, 100, 17)
$Label4 = GUICtrlCreateLabel("下载速度:", 24, 32, 55, 17)
GUISetState(@SW_SHOW)
WinSetOnTop ($Form1,"",1)

$_IfTable=_GetIfTable()
Global $_Down=$_IfTable
Global $_UpDate=$_IfTable
AdlibRegister ("_Strat_Time",1000)
While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

      EndSwitch
WEnd
Func _Strat_Time()
      $_IfTable=_GetIfTable()
      GUICtrlSetData ($Label2, Round(($_IfTable-$_UpDate)/1,2)& " Kb")
      GUICtrlSetData ($Label3, Round(($_IfTable-$_Down)/1,2) & " Kb")
      Global $_Down=$_IfTable
      Global $_UpDate=$_IfTable
EndFunc

Func _GetIfTable()
      $_Return=DllCall("Iphlpapi.dll","long","GetIfTable","ptr",0,"ulong*",0,"int",0)
      $_aBuffer=DllStructCreate("byte[" & $_Return & "]")
      $_Return=DllCall("Iphlpapi.dll","long","GetIfTable","ptr",DllStructGetPtr($_aBuffer),"ulong*",DllStructGetSize($_aBuffer),"int",0)
      $_Number=DllStructCreate("dword",DllStructGetPtr($_aBuffer))
      $_Number=DllStructGetData($_Number,1)
      $_MIB_IFROW="dword" & _StringRepeat(";wchar;dword;byte;dword;byte",$_Number)
      $_MIB_IFTABLE=DllStructCreate($_MIB_IFROW,DllStructGetPtr($_aBuffer))
      Dim $_Table
      For $i=2 To $_Number * 5 Step 5               
                $_Table+=DllStructGetData($_MIB_IFTABLE,$i+3,4)
                $_Table+=DllStructGetData($_MIB_IFTABLE,$i+3,10)
      Next      
      Return $_Table
EndFunc

fangming202 发表于 2013-3-12 07:56:05

感谢分享~!!!看不懂啊~!能不能详细指导指导~?

fangming202 发表于 2013-3-12 07:56:31

感谢分享~!!!看不懂啊~!能不能详细指导指导~?

跃逸冰颠 发表于 2013-3-14 08:39:43

谢谢分享。。。应该有用

llww7779 发表于 2013-3-14 10:38:18

NetHelper运行不了,怎么回事?

zym3138 发表于 2013-3-14 12:23:05

回复 7# lin6051


    感谢分享~!!

lin6051 发表于 2013-4-2 10:46:31

6楼代码 发现测速起来不太准 再找找

WhiteSail 发表于 2013-5-28 15:52:51

2楼的代码能不能再调调,可能由于版本问题运行出错……

freedomlang 发表于 2014-5-4 10:24:08

最近也在折腾这问题,先试试

gogogoto 发表于 2016-11-24 19:29:58

正在学习中为这个头疼呢 感谢前辈 虽然是多年前还是顶一下
页: [1] 2
查看完整版本: [已解决]如何获取网卡占用的网速(网卡产生的所有流量)