亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unetmon.~pas

?? 統計網絡流量的DELPHI原程序代碼,for xp/2000/2003
?? ~PAS
字號:
unit uNetMon;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, IPHelper, IPHLPAPI, StdCtrls, ComCtrls, Buttons, Grids;

const
   version = '1.0';
type
  TIPForm = class( TForm )
    Timer1: TTimer;
    GroupBox1: TGroupBox;
    btnQuit: TSpeedButton;
    cbOnTop: TCheckBox;
    btnClear: TSpeedButton;
    btnStopCap: TSpeedButton;
    btnStartCap: TSpeedButton;
    sgMIB: TStringGrid;
    procedure Timer1Timer( Sender: TObject );
    procedure FormCreate( Sender: TObject );
    procedure btnStartCapClick(Sender: TObject);
    procedure btnStopCapClick(Sender: TObject);
    procedure btnClearClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure cbOnTopClick(Sender: TObject);
    procedure btnQuitClick(Sender: TObject);
  private
    { Private declarations }
    function GetIPFromIFIndex( InterfaceIndex: integer ): string;
    procedure InitGrid( MibArr: IpHlpAPI.TMibIFArray );
    procedure CaptureMIBData( InitFlag: boolean );
    procedure ClearCounters;
    procedure Data2Grid( MIBArr: IpHlpAPI.TMIBIFArray );
  public
    { Public declarations }
  end;

  //用于統計數據結構
  TStatistics = record
    dwInterfaceIndex: DWORD;
    ActiveCountIn,      {當前流入的數據量}
    ActiveCountOut,     {當前流出的數據量}
    PrevCountIn,        {前次流入的數據量}
    PrevCountOut,       {前次流出的數據量}
    TotalIn,            {總的流入數據量}
    TotalOut,           {總的流出數據量}
    InPerSec,           {最后一次統計的流入速度}
    OutPerSec,          {最后一次統計的流出速度}
    PeakInPerSec,       {最高的流入流出速度}
    PeakOutPerSec : DWORD;
  end;
  TStatArr = array of TStatistics;

var
  IPForm      : TIPForm;
  StatArr     : TStatArr;

implementation

{$R *.DFM}

procedure TIPForm.FormCreate( Sender: TObject );
begin
    Caption := Caption + ' ' + Version;
    sgMib.Cells[0,0] := '網卡信息';
    sgMib.Cells[1,0] := 'MAC地址';
    sgMIB.Cells[2,0] := 'IP地址';
    sgMIB.Cells[3,0] := '流入(byte/s)';
    sgMIB.Cells[4,0] := '最高(in/s)';
    sgMIB.Cells[5,0] := '平均(in/s)';
    sgMIB.Cells[6,0] := '流出(oct/s)';
    sgMIB.Cells[7,0] := '最高(byte/s)';
    sgMIB.Cells[8,0] := '平均(out/s)';
    //設置統計間隔為1秒
    Timer1.Interval := 1000;
    CaptureMIBData( true );
end;

procedure TIPForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    Timer1.OnTimer := nil;
    Action := caFREE;
end;

procedure TIPForm.btnQuitClick(Sender: TObject);
begin
    Close;
end;

procedure TIPForm.cbOnTopClick(Sender: TObject);
begin
    if cbOnTop.Checked = true then
        FormStyle := fsSTAYONTOP
    else
        FormStyle := fsNORMAL;
end;

procedure TIPForm.Timer1Timer( Sender: TObject );
begin
    Timer1.Enabled := false;
    CaptureMIBData( false );
    Timer1.Enabled := true;
end;

procedure TIPForm.btnStartCapClick(Sender: TObject);
begin
    btnStartCap.Enabled := false;
    btnStopCap.Enabled  := true;
    ClearCounters;
    Timer1.Enabled := true;
end;

procedure TIPForm.btnStopCapClick(Sender: TObject);
begin
    btnStartCap.Enabled := true;
    btnStopCap.Enabled  := false;;
    Timer1.Enabled := false;
end;

procedure TIPForm.btnClearClick(Sender: TObject);
begin
    ClearCounters;
end;

// get MIB data and init or show data
procedure TIPForm.CaptureMIBData( InitFlag: boolean );
var
    MibArr : IpHlpAPI.TMIBIfArray;
begin
    Get_IfTableMIB( MibArr );
    if InitFlag  then
        InitGrid( MibArr )
    else
        Data2Grid( MibArr );
end;


procedure TIPForm.ClearCounters;
begin
    CaptureMIBData( true );
    CaptureMIBData( false);
end;

procedure TIPForm.Data2Grid( MIBArr: IpHlpAPI.TMIBIFArray );
var
    i : integer;
begin
    for i := low(MIBArr) to High(MIBArr) do
    with MIBArr[i] do
    begin
        with StatArr[i] do
        begin
            InPerSec  := dwInOctets - PrevCountIn;
            inc(TotalIn, InPerSec);
            if InPerSec > 0 then
                inc(ActivecountIn);
            PrevCountIn := dwInOctets;
            OutPerSec := dwOutOctets - PrevCountOut;
            inc(TotalOut,OutPerSec);
            if OutPerSec > 0 then
                inc(ActivecountOut);
            PrevCountOut  := dwOutOctets;
            if InPerSec > PeakInPerSec then
                PeakInPersec := InPersec;
            if OutPerSec > PeakOutPerSec then
                PeakOutPerSec := OutPerSec;
            //更新表格顯示
            sgMIB.Cells[3, i+1] :=  IntToStr( InPerSec) ;
            sgMIB.Cells[4, i+1] :=  IntToStr( PeakInPerSec ) ;
            if ActiveCountIn > 0 then
                sgMIB.Cells[5, i+1] :=
                IntToStr( TotalIn div ActiveCountIn)
            else
                sgMIB.Cells[5, i+1] := '  --  ';
                sgMIB.Cells[6, i+1] :=  IntToStr( OutPerSec) ;
                sgMIB.Cells[7, i+1] :=  IntToStr( PeakOutPerSec) ;
            if ActiveCountOut > 0 then
                sgMIB.Cells[8, i+1] :=
                IntToStr( TotalOut div ActiveCountOut)
            else
            sgMIB.Cells[8, i+1] := '  --  ';
        end;
    end;
end;

function TIPForm.GetIPFromIFIndex( InterfaceIndex: integer ): string;
var
 i:  integer;
 IPArr : TMIBIPAddrArray;
begin
   Result := '!not_found!';  // shouldn't happen...
   Get_IPAddrTableMIB( IpArr );  // get IP-address table
   if Length(IPArr) > 0 then
     for i := low(IPArr) to High(IPArr) do  // look for matching index...
       if IPArr[i].dwIndex = InterfaceIndex then
       begin
         Result := IPAddr2Str(IParr[i].dwAddr);
         BREAK;
       end;
end;

//初始化統計變量與表格
procedure TIpForm.InitGrid( MibArr: IpHlpAPI.TMibIFArray );
var
    i     : integer;
    IPArr : TMibIPAddrArray;
    Descr: string;
begin
    if Length(MibArr) > 0 then
    begin
        sgMib.RowCount := succ(Length( MibArr ));
        SetLength( StatArr, Length(MibArr));
        for i := low(MIBArr) to High(MIBArr) do
        with MIBArr[i] do
        begin
            StatArr[i].ActiveCountIn := 0;
            StatArr[i].ActiveCountOut:= 0;
            StatArr[i].PrevCountIn := dwInOctets;
            StatArr[i].PrevCountOut:= dwOutOctets;
            StatArr[i].TotalIn := 0;
            StatArr[i].TotalOut:= 0;
            StatArr[i].InPerSec:= 0;
            StatArr[i].OutPerSec:= 0;
            StatArr[i].PeakInPerSec := 0;
            StatArr[i].PeakOutPerSec:=0;
            SetLength( Descr, pred(dwDescrLen));
            move(bDescr, Descr[1], pred(dwDescrLen));
            //網卡描述信息
            sgMIB.Cells[0, succ(i)] := Trim(Descr) ;
            //網卡MAC地址
     sgMIB.Cells[1, succ(i)] := MacAddr2Str( TMacAddress( bPhysAddr ), dwPhysAddrLen );
     // adapter IP address
     sgMIB.Cells[2, succ(i)] := GetIPFromIFIndex( MIBArr[i].dwIndex);
     //
    end;
  end;
end;
end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国女主播一区二区三区| 欧美aaaaaa午夜精品| 国产午夜精品在线观看| 日韩欧美不卡在线观看视频| 3d成人动漫网站| 欧美日韩在线亚洲一区蜜芽| 欧美三区在线视频| 在线观看91视频| 欧美色精品天天在线观看视频| 欧美日韩视频在线一区二区| 欧美三级韩国三级日本一级| 51精品国自产在线| 91精品国产一区二区三区香蕉| 欧美一级理论片| 日韩区在线观看| 久久久久国产一区二区三区四区| 国产亚洲精品中文字幕| 国产精品久久久久一区| 成人免费视频在线观看| 日本怡春院一区二区| 人人爽香蕉精品| 国产麻豆精品一区二区| 成人毛片在线观看| 欧洲精品中文字幕| 日韩欧美激情在线| 亚洲国产精品黑人久久久| 亚洲精品自拍动漫在线| 石原莉奈在线亚洲二区| 国产一区二区三区久久悠悠色av| 波多野结衣的一区二区三区| 在线观看免费亚洲| 日韩精品一区二区三区视频在线观看| 久久九九久久九九| 亚洲午夜一二三区视频| 久久99国产精品尤物| 99久久精品一区| 6080午夜不卡| 亚洲精品亚洲人成人网在线播放| 午夜欧美在线一二页| 国产精品自在在线| 欧美日韩国产在线观看| 国产亚洲综合在线| 亚洲午夜在线观看视频在线| 高清beeg欧美| 91精品国产综合久久小美女| 国产欧美日韩亚州综合| 无吗不卡中文字幕| 91在线porny国产在线看| 欧美不卡视频一区| 韩国av一区二区三区| 色婷婷亚洲综合| 国产欧美一区二区精品忘忧草| 亚洲综合激情另类小说区| 国产美女精品在线| 日韩三级高清在线| 爽好久久久欧美精品| 99久久婷婷国产精品综合| 欧美成人免费网站| 亚洲va韩国va欧美va精品| av午夜一区麻豆| 久久精品亚洲乱码伦伦中文| 免费在线视频一区| 337p亚洲精品色噜噜狠狠| 夜夜精品视频一区二区| 91丨九色丨国产丨porny| 国产日韩欧美精品综合| 久久丁香综合五月国产三级网站| 欧美日韩在线不卡| 亚洲综合色成人| 色94色欧美sute亚洲线路二| 国产日韩欧美亚洲| 成人免费黄色大片| 国产欧美一区在线| 福利一区二区在线观看| 亚洲综合免费观看高清完整版在线 | 777奇米成人网| 一区二区三区在线影院| 91免费精品国自产拍在线不卡| 国产亚洲精品资源在线26u| 国产一区二区三区视频在线播放| 日韩女优毛片在线| 久久国产精品99久久久久久老狼 | 亚洲国产精品久久艾草纯爱| 91天堂素人约啪| 亚洲黄色录像片| 欧美日韩一区三区四区| 美女mm1313爽爽久久久蜜臀| 欧美大片免费久久精品三p| 另类小说视频一区二区| 国产喂奶挤奶一区二区三区| 国产.欧美.日韩| 亚洲视频在线观看三级| 日本伦理一区二区| 蜜臂av日日欢夜夜爽一区| 精品国一区二区三区| 国产成人综合在线观看| 最新热久久免费视频| 欧美色综合网站| 伦理电影国产精品| 久久久久久久久一| 一本色道久久综合狠狠躁的推荐| 亚洲一二三四在线观看| 精品国一区二区三区| 99riav久久精品riav| 天天综合天天做天天综合| 久久香蕉国产线看观看99| av电影在线观看一区| 日日噜噜夜夜狠狠视频欧美人| 久久久午夜精品| 91高清视频在线| 国产一区在线视频| 亚洲二区在线观看| 国产欧美日韩久久| 欧美男男青年gay1069videost| 激情综合色综合久久综合| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 亚洲欧美综合色| 欧美一区二区三区四区五区 | 亚洲激情成人在线| 久久伊人中文字幕| 欧美日韩午夜精品| 不卡一二三区首页| 久久精品国产精品亚洲综合| 一区二区三区在线观看欧美| 精品国产区一区| 欧美伦理电影网| 一本大道久久a久久精二百| 久久99国产精品尤物| 夜夜夜精品看看| 亚洲色图欧洲色图| 国产日韩欧美不卡| 久久综合色播五月| 日韩欧美一级二级| 欧美午夜一区二区三区| 91香蕉视频mp4| 成人听书哪个软件好| 精品一区二区三区在线视频| 日日夜夜精品视频天天综合网| 亚洲精选一二三| 亚洲欧美日韩中文字幕一区二区三区 | 91亚洲永久精品| 国产乱对白刺激视频不卡| 日韩成人dvd| 男人的天堂久久精品| 日韩精品乱码av一区二区| 亚洲无线码一区二区三区| 日韩久久一区二区| 亚洲女性喷水在线观看一区| 中文字幕欧美三区| 国产欧美日韩另类视频免费观看| 久久久美女艺术照精彩视频福利播放| 日韩一区二区免费视频| 欧美日韩精品欧美日韩精品一综合| 91香蕉视频在线| 色综合色综合色综合色综合色综合 | 91在线小视频| 94色蜜桃网一区二区三区| 91美女视频网站| 在线免费不卡电影| 在线电影欧美成精品| 日韩欧美亚洲一区二区| 久久综合久久综合九色| 国产精品美女久久久久久| 亚洲欧美日韩国产综合在线| 亚洲卡通动漫在线| 轻轻草成人在线| 国产在线精品一区二区夜色| 国产精品99久久久| 色综合久久久久综合体桃花网| 欧美在线free| 欧美一卡2卡三卡4卡5免费| 日韩手机在线导航| 日本一区二区视频在线观看| 亚洲少妇30p| 免费高清在线一区| 丁香亚洲综合激情啪啪综合| 色婷婷一区二区| 精品久久久久久久久久久久包黑料| 国产日韩欧美不卡| 亚洲综合在线电影| 精品在线免费观看| 91免费在线播放| 欧美一卡2卡3卡4卡| 国产精品久久久久婷婷二区次| 亚洲成人av一区二区| 久久激五月天综合精品| aaa国产一区| 精品成人一区二区| 亚洲国产一区视频| 国产精品2024| 欧美肥妇bbw| 亚洲色图丝袜美腿| 久久99久久久欧美国产| 一本久久a久久免费精品不卡| 欧美一级日韩不卡播放免费| 国产精品白丝在线| 国产一区三区三区| 欧美人妖巨大在线| 中文一区二区完整视频在线观看| 视频在线观看一区二区三区|