Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Auslesen der Bandbreite der Netzwerkkarte (https://www.delphipraxis.net/73548-auslesen-der-bandbreite-der-netzwerkkarte.html)

alias5000 19. Jul 2006 16:52


Auslesen der Bandbreite der Netzwerkkarte
 
Hi
Ich würde gerne die hardwarevorgegebene maximale Bandbreite der installierten Netzwerkkarte herausfinden. Ich meine die Angabe, die immer auf den Verpackungen steht, sprich 10MBit, 100MBit oder halt 1000MBit. Gibts dafür irgendeine Möglichkeit?

Gruß alias5000

alias5000 29. Jul 2006 17:07

Re: Auslesen der Bandbreite der Netzwerkkarte
 
Ich weiß, dass ist ein schwieriges Thema, in 4 Foren habe ich dazu bisher keine Antwort bekommen, im MSDN/PSDK hab ich noch nix gefunden (nur ansatzweise bei .NET 2.0, aber was bringt mir das?) und über Google hab ich auch noch nix rausgefunden.

Weiß denn wirklich niemand was?

Ich finds halt blöd, wenn der Benutzer in einem Programm angeben muss, was er für eine Netzwerkkarte installiert hat, wo die doch im PC steckt und somit doch eigentlich auch dem PC bekannt sein müsste, wie schnell Sie den Einstellungen nach arbeitet :coder2:

Muetze1 29. Jul 2006 17:16

Re: Auslesen der Bandbreite der Netzwerkkarte
 
Ich vermute, dass man diese Informationen auch per WMI herausfinden sollte. Such mal in der Richtung WMI..

MagicAndre1981 29. Jul 2006 19:15

Re: Auslesen der Bandbreite der Netzwerkkarte
 
Bei WMI gibts das hier:
Code:
SELECT * FROM Win32_NetworkAdapter
Und mit
Code:
MaxSpeed
soltest du den Type ermitteln können, aber bei mir gibts da nur null zurück.

Code:
var wbemFlagReturnImmediately = 0x10;
var wbemFlagForwardOnly = 0x20;

var arrComputers = new Array("PCNAME");
for (i = 0; i < arrComputers.length; i++) {
   WScript.Echo();
   WScript.Echo("==========================================");
   WScript.Echo("Computer: " + arrComputers[i]);
   WScript.Echo("==========================================");

   var objWMIService = GetObject("winmgmts:\\\\" + arrComputers[i] + "\\root\\CIMV2");
   var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter", "WQL",
                                          wbemFlagReturnImmediately | wbemFlagForwardOnly);

   var enumItems = new Enumerator(colItems);
   for (; !enumItems.atEnd(); enumItems.moveNext()) {
      var objItem = enumItems.item();

      WScript.Echo("AdapterType: " + objItem.AdapterType);
      WScript.Echo("AdapterTypeId: " + objItem.AdapterTypeId);
      WScript.Echo("AutoSense: " + objItem.AutoSense);
      WScript.Echo("Availability: " + objItem.Availability);
      WScript.Echo("Caption: " + objItem.Caption);
      WScript.Echo("ConfigManagerErrorCode: " + objItem.ConfigManagerErrorCode);
      WScript.Echo("ConfigManagerUserConfig: " + objItem.ConfigManagerUserConfig);
      WScript.Echo("CreationClassName: " + objItem.CreationClassName);
      WScript.Echo("Description: " + objItem.Description);
      WScript.Echo("DeviceID: " + objItem.DeviceID);
      WScript.Echo("ErrorCleared: " + objItem.ErrorCleared);
      WScript.Echo("ErrorDescription: " + objItem.ErrorDescription);
      WScript.Echo("Index: " + objItem.Index);
      WScript.Echo("InstallDate: " + WMIDateStringToDate(objItem.InstallDate));
      WScript.Echo("Installed: " + objItem.Installed);
      WScript.Echo("LastErrorCode: " + objItem.LastErrorCode);
      WScript.Echo("MACAddress: " + objItem.MACAddress);
      WScript.Echo("Manufacturer: " + objItem.Manufacturer);
      WScript.Echo("MaxNumberControlled: " + objItem.MaxNumberControlled);
      WScript.Echo("MaxSpeed: " + objItem.MaxSpeed);
      WScript.Echo("Name: " + objItem.Name);
      WScript.Echo("NetConnectionID: " + objItem.NetConnectionID);
      WScript.Echo("NetConnectionStatus: " + objItem.NetConnectionStatus);
      try { WScript.Echo("NetworkAddresses: " + (objItem.NetworkAddresses.toArray()).join(",")); }
         catch(e) { WScript.Echo("NetworkAddresses: null"); }
      WScript.Echo("PermanentAddress: " + objItem.PermanentAddress);
      WScript.Echo("PNPDeviceID: " + objItem.PNPDeviceID);
      try { WScript.Echo("PowerManagementCapabilities: " + (objItem.PowerManagementCapabilities.toArray()).join(",")); }
         catch(e) { WScript.Echo("PowerManagementCapabilities: null"); }
      WScript.Echo("PowerManagementSupported: " + objItem.PowerManagementSupported);
      WScript.Echo("ProductName: " + objItem.ProductName);
      WScript.Echo("ServiceName: " + objItem.ServiceName);
      WScript.Echo("Speed: " + objItem.Speed);
      WScript.Echo("Status: " + objItem.Status);
      WScript.Echo("StatusInfo: " + objItem.StatusInfo);
      WScript.Echo("SystemCreationClassName: " + objItem.SystemCreationClassName);
      WScript.Echo("SystemName: " + objItem.SystemName);
      WScript.Echo("TimeOfLastReset: " + WMIDateStringToDate(objItem.TimeOfLastReset));
   }
}

function WMIDateStringToDate(dtmDate)
{
   if (dtmDate == null)
   {
      return "null date";
   }
   var strDateTime;
   if (dtmDate.substr(4, 1) == 0)
   {
      strDateTime = dtmDate.substr(5, 1) + "/";
   }
   else
   {
      strDateTime = dtmDate.substr(4, 2) + "/";
   }
   if (dtmDate.substr(6, 1) == 0)
   {
      strDateTime = strDateTime + dtmDate.substr(7, 1) + "/";
   }
   else
   {
      strDateTime = strDateTime + dtmDate.substr(6, 2) + "/";
   }
   strDateTime = strDateTime + dtmDate.substr(0, 4) + " " +
   dtmDate.substr(8, 2) + ":" +
   dtmDate.substr(10, 2) + ":" +
   dtmDate.substr(12, 2);
   return(strDateTime);
}

alias5000 1. Aug 2006 19:21

Re: Auslesen der Bandbreite der Netzwerkkarte
 
Hi Andre,
erstmal vielen Dank, aber ich komm im Moment nicht dazu, das durchzuarbeiten. Ich werds mir aber sicher nochmal anschaun, also iss das hier so eine kleine Statusmeldung :wink:

Wenn ich was gemacht hab, meld ich mich


Gruß alias5000


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz