帮帮我吧 5555555(100分)

  • 主题发起人 主题发起人 zhuifeng529
  • 开始时间 开始时间
Z

zhuifeng529

Unregistered / Unconfirmed
GUEST, unregistred user!
如何获取上网的连接速度和接收与发送的字节数,就像系统中“拨号上网”那样统计出来
急急急
帮帮我吧
 
函数声明:
RasGetConnectionStatistics: Function ( // W2K only
hrasconn: HRasConn;
lpStatistics: PTRas_Stats // buffer to receive statistics
): DWORD; stdcall;

实现部分在RASAPI32.DLL中,使用的时候用GetProcAddress动态加载。

参数结构:
PTRas_Stats = ^TRas_Stats ;
TRas_Stats = Record
dwSize,
dwBytesXmited,
dwBytesRcved,
dwFramesXmited,
dwFramesRcved,
dwCrcErr,
dwTimeoutErr,
dwAlignmentErr,
dwHardwareOverrunErr,
dwFramingErr,
dwBufferOverrunErr,
dwCompressionRatioIn,
dwCompressionRatioOut,
dwBps,
dwConnectDuration: DWORD ;
end ;

使用:
var
RasStatistics: TRas_Stats;
ConnSpd: Integer;
begin
RasStatistics.dwSize := sizeof(TRas_Stats);
RasGetConnectionStatistics(fCurRASConn,@RasStatistics);
ConnSpd := RasStatistics.dwBps;
end;
只能在w2k下运行。
 
鎴戝氨鐢ㄨ繖绉嶆柟娉曪紝 涓嶈?
寰椾笉鍒版垜瑕佺殑淇℃伅
 
我上面的怎么出现乱码了,晕
那个方法不行,我就用那个方法,得不出来信息
还有没有其它的方法
我不相信没有高人了
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
usage,usage1:integer;
begin
with TRegistry.Create do
begin
RootKey:=HKEY_DYN_DATA;
OpenKey('PerfStats/StatData',false);
ReadBinaryData('Dial-Up Adapter/TotalBytesRecvd',usage,sizeof(usage));
ReadBinaryData('Dial-Up Adapter/TotalBytesXmit',usage1,sizeof(usage1));
Caption:=IntToStr(usage)+','+IntToStr(usage1);
CloseKey;
Free;
end;
end;
 
kingdeezj大虾
我知道在注册表中win9X为(HKEY_DYN_DATA),win2000为上HKEY_PERFORMANCE_DATA中记录了系统运行时的信息,但不知道怎么看到,曾经对注册表枚举过,但失败了,你能告诉哪有看这个主键的软件吗?还有我现在的系统是2003,无法测试你的那段代码,那段代码准确吗?还有如果获取网速,是不是也在那里找呀
如果你回答了,我愿意在加分给你
 
后退
顶部