Hallo Luckie!
Ich verwende diese Function auch in einem projekt und benutze WinME.
Ich bekomme genau wie du immer nur den Windows-Session-Gesamt-Traffic; hab aber auch keine Ahnung, woran das liegt.
aber, ich hab ein problem mit dieser function!
eigentlich ist der quellcode der gleiche:
Delphi-Quellcode:
function Tform1.GetSessionTraffic(Way : string) : real;
var
IfTable: PMIB_IFTABLE;
dwSize: Cardinal;
i: Integer;
begin
result := 0;
IfTable := nil;
dwSize := 0;
ZeroMemory(@IfTable, sizeof(IfTable));
try
VVGetIfTable(IfTable, dwSize, TRUE);
if IfTable <> nil then
begin
for i := 0 to IfTable.dwNumEntries - 1 do
begin
if IfTable.table[i].dwType <> MIB_IF_TYPE_LOOPBACK then
if Way = 'In' then result := IfTable.table[i].dwInOctets / 1024 / 1024
else result := IfTable.table[i].dwOutOctets / 1024 / 1024;
end;
end;
finally
Freemem(IfTable);
end;
end;
Die Werte, die von dieser Function rausgegeben werden unterscheiden sich MAßGEBLICH von den bytes, die in der DFÜ-Anzeige angezeigt werden!
ein timer aktualisiert alle 1 sek ein label mit dem Up und Down; nach 10 sekunden hat man schon einen unterschied von ~200 KB!
ich hab gerade nach 1 stunde bei der dfü 20 MB und bei meinem prog 17,5 MB Download zu stehen...
hat jemand eine ahnung, wie das zustande kommt? (ich teile die bytezahl auch brav 2 mal durch 1024, nicht durch 1000
);
MfG Lefko.