Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#27

Re: Down/Upload herausbekommen

  Alt 29. Sep 2006, 19:21
o.O Falsch verstanden ^^
Ich habe den Code genommen (Link)! Problem: Der Wert war so groooooooooooß, dass es Millibits sein müssten. Da man aber nicht Millibits messen kann, kann das Ergebnis nicht sein.

Hier mein Code:
Delphi-Quellcode:
function TForm1.getTraffic(Networkcard : Integer) : TTraffic;
var
// der andere
  MibRow: TMibIfRow;
  IntfTable: PMibIfTable;
  Size: DWORD;
// Luckie
  IfTable: PMIB_IFTABLE;
  dwSize: Cardinal;
// alle
  i: Integer;
begin
  Result[0] := 0;
  Result[1] := 0;
  (*Size := 0;
  if GetIfTable(nil, Size, True) <> ERROR_INSUFFICIENT_BUFFER then
    Exit;
  IntfTable := AllocMem(Size);
  try
    if GetIfTable(IntfTable, Size, True) = NO_ERROR then
    begin
      for I := 0 to IntfTable^.dwNumEntries - 1 do
      begin
        {$R-}
        MibRow := IntfTable.Table[I];
        {$R+}
        if MibRow.dwType <> MIB_IF_TYPE_ETHERNET then
          Continue; // oder MIB_IF_TYPE_PPP
        if i = Networkcard then begin  // Welche Verbindung

          Result[0] := MibRow.dwInOctets;
          Result[1] := MibRow.dwOutOctets;
        end;
      end;
    end;


  finally
    FreeMem(IntfTable);
  end;*)


  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 begin
          Result[0] := IfTable.table[i].dwInOctets;
          Result[1] := IfTable.table[i].dwOutOctets;
        end;
      end;
    end;
  finally
    Freemem(IfTable);
  end;
end;
Und das bekomme ich:
Zitat:
-1066368571
221048498
Der Ergäben in MBit:
Zitat:
-1016,96831798553466796875 MBit/s
210,8082752227783203125 MBit/s
Und dann bin ich mit 11 MBit/s (WLAN) bzw. 3 MBit/s (Internet) drinne...?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat