AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Netzwerkkarten Info - inkl. Treiberinfo
Thema durchsuchen
Ansicht
Themen-Optionen

Netzwerkkarten Info - inkl. Treiberinfo

Offene Frage von "cherry"
Ein Thema von cherry · begonnen am 10. Sep 2009 · letzter Beitrag vom 6. Okt 2009
Antwort Antwort
Seite 2 von 3     12 3      
espen

Registriert seit: 29. Aug 2003
Ort: Karlsruhe
17 Beiträge
 
#11

Re: Netzwerkkarten Info - inkl. Treiberinfo

  Alt 1. Okt 2009, 12:35
Hallo,

hier ein WMI-Ansatz. Ich habe mal Dieses Beispiel angepasst:

Delphi-Quellcode:
uses
  WbemScripting_TLB,
  ActiveX,
  OleServer;
...

procedure TForm1.Button1Click(Sender: TObject);
var
  aSrv : ISWbemServices;
  aObjSet : ISWbemObjectSet;
  vNVS : OleVariant;
  aNVSDummy : IDispatch;
  pEnum : IEnumVARIANT;
  vOut : OleVariant;
  dwRetrieved : LongWord;
  hRes : HResult;
begin
  aSrv := SWbemLocator1.ConnectServer('','','','','','',0,vNVS);
  aObjSet := aSrv.ExecQuery('SELECT * FROM Win32_Networkadapter', 'WQL', 0, aNVSDummy);
  pEnum := aObjSet.Get__NewEnum as IEnumVARIANT;
  while (TRUE) do
  begin
    hRes := pEnum.Next(1, vOut, dwRetrieved);
    if hRes <> S_OK then
    begin
      Break;
    end;
    ListBox1.Items.Add(VarToStr(vOut.Name));
  end;
end;
Ganz vergessen, hier noch die Properties:

Delphi-Quellcode:
class Win32_NetworkAdapter : CIM_NetworkAdapter
{
  string  AdapterType;
  uint16  AdapterTypeID;
  boolean  AutoSense;
  uint16  Availability;
  string  Caption;
  uint32  ConfigManagerErrorCode;
  boolean  ConfigManagerUserConfig;
  string  CreationClassName;
  string  Description;
  string  DeviceID;
  boolean  ErrorCleared;
  string  ErrorDescription;
  string  GUID;
  uint32  Index;
  datetime InstallDate;
  boolean  Installed;
  uint32  InterfaceIndex;
  uint32  LastErrorCode;
  string  MACAddress;
  string  Manufacturer;
  uint32  MaxNumberControlled;
  uint64  MaxSpeed;
  string  Name;
  string  NetConnectionID;
  uint16  NetConnectionStatus;
  boolean  NetEnabled;
  string  NetworkAddresses[];
  string  PermanentAddress;
  boolean  PhysicalAdapter;
  string  PNPDeviceID;
  uint16  PowerManagementCapabilities[];
  boolean  PowerManagementSupported;
  string  ProductName;
  string  ServiceName;
  uint64  Speed;
  string  Status;
  uint16  StatusInfo;
  string  SystemCreationClassName;
  string  SystemName;
  datetime TimeOfLastReset;
}
;
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#12

Re: Netzwerkkarten Info - inkl. Treiberinfo

  Alt 1. Okt 2009, 12:47
Joa, einfach nen Desktopsystem halt.
Marke, Typ?
Null Ahnung, hab den, hier im Betrieb, auch erst seid kurzem.

Aber eins weiß ich, das Originalsystem ist ziemlich alt und es hat sich im Laufe der Zeit massig Hardware geändert.
Z.B. als ich den letztens vorgesetzt bekommen hab, hab ich erstmal 2 Netzwerkkarten ausgebaut (die wurden anderweitig gebraucht) und die OnBoard-Karte übers Bios aktiviert. (fragt mich nicht warum die deaktiviert war )
D.h. momentan hab ich nur eine OnBoard-Netzwerkkarte.
Gerätename davon ist: "ASUSTeK/Broadcom 440x 10/100 Integrated Controller"
  Mit Zitat antworten Zitat
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#13

Re: Netzwerkkarten Info - inkl. Treiberinfo

  Alt 1. Okt 2009, 13:02
Zitat von espen:
Hallo,

hier ein WMI-Ansatz. Ich habe mal Dieses Beispiel angepasst
hi ich versuchte soeben das Beispiel aus, leider weiss ich nicht woher ich die Komponente SWbemLocator1 nehmen soll?!

@mleyen
wie siehts denn im CurrentControlSet aus?
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#14

Re: Netzwerkkarten Info - inkl. Treiberinfo

  Alt 1. Okt 2009, 13:10
Zitat von cherry:
wie siehts denn im CurrentControlSet aus?
Ja, der existiert und sieht auch passend aus, da in .../0008 auch der Gerätename steht.
  Mit Zitat antworten Zitat
espen

Registriert seit: 29. Aug 2003
Ort: Karlsruhe
17 Beiträge
 
#15

Re: Netzwerkkarten Info - inkl. Treiberinfo

  Alt 1. Okt 2009, 13:17
Hi,

Du musst das ActiveX WbemScripting importieren (bei Komponenten->ActiveX importieren)
oder Du nimmst einfach den Anhang.
Angehängte Dateien
Dateityp: pas wbemscripting_tlb_138.pas (200,7 KB, 17x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#16

Re: Netzwerkkarten Info - inkl. Treiberinfo

  Alt 1. Okt 2009, 16:11
Also ne, so dumm kann ich ja nicht sein. Soll SWbemLocator1 eine Komponente sein oder wie? - In der Palette ist sie jedenfalls nirgens...
wenn ich definiere :

Delphi-Quellcode:
var
 SWbemLocator1: SWbemLocator;
kann ich zwar Kompillieren, aber bei der Zeile:

aSrv := SWbemLocator1.ConnectServer('','','','','','',0,vNVS); gibts dann ne Zugriffsverletzung!
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#17

Re: Netzwerkkarten Info - inkl. Treiberinfo

  Alt 1. Okt 2009, 16:18
Hallo cherry,

wie meine Vorredner es schon gesagt haben, kannst Du die Infos über WMI auslesen. Eine alternative wären aber noch die folgenden Windows API-Befehle :

MSDN-Library durchsuchenGetNetworkParams
MSDN-Library durchsuchenGetAdaptersInfo
MSDN-Library durchsuchenGetPerAdapterInfo
MSDN-Library durchsuchenGetAdapterAdresses

Damit kannst Du fast eine komplette IPCONFIG Ausgabe nachbauen.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#18

Re: Netzwerkkarten Info - inkl. Treiberinfo

  Alt 1. Okt 2009, 16:23
Zitat von RWarnecke:
Damit kannst Du fast eine komplette IPCONFIG Ausgabe nachbauen.
@RWarnecke
Ich hab mir schon die ganze nachgebaut, aber das reicht mir nicht. Vielleicht ist dir entgangen, dass ich die Treiberinformationen haben muss!!!??!!

Zitat von RWarnecke:
wie meine Vorredner es schon gesagt haben, kannst Du die Infos über WMI auslesen.
@espen
@RWarnecke

Beim Beispiel von @espen erhalte ich einige Informationen, aber NICHT die die für mich wichtig sind!!!! -> Ich habe übrigens selber stundenlang versucht die gewünschten Informationen: Treiberversion, Treiberdatum über WMI herauszubekommen, leider ohne Erfolg...

Wenn Ihr wisst wies geht, dann sagts mir doch bitte?!
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#19

Re: Netzwerkkarten Info - inkl. Treiberinfo

  Alt 3. Okt 2009, 10:34
Die Treiberversion kannst Du über die Registry rausbekommen.

für Windows XP oder höher :
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E 972-E325-11CE-BFC1-08002BE10318}

für Windows 2000 :
HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D3 6E972-E325-11CE-BFC1-08002BE10318}

So mache ich das in meinem SystemInfo.

Edit : Sogar das Treiberdatum bekommst Du über diesen Registryschlüssel.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#20

Re: Netzwerkkarten Info - inkl. Treiberinfo

  Alt 6. Okt 2009, 06:56
Zitat von RWarnecke:
Die Treiberversion kannst Du über die Registry rausbekommen.

für Windows XP oder höher :
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E 972-E325-11CE-BFC1-08002BE10318}

für Windows 2000 :
HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D3 6E972-E325-11CE-BFC1-08002BE10318}

So mache ich das in meinem SystemInfo.

Edit : Sogar das Treiberdatum bekommst Du über diesen Registryschlüssel.
Genau das habe ich gesucht.

Habs jetzt hinbekommen... Wäre toll wenns jemand noch unter w2k testen könnte... oder auch auf xp...

> Bei mir habe ich festgestellt, dass die WinAPI funktion GetAdaptersInfo z.B ein AdapterName und AdapterDescription liefert... Bei Adapter Desc erhalte ich z.B:
Intel(R) 82566DM Gigabit Network Connection - Paketplaner-Miniport. So, und für AdapterName die passende GUID. Wenn ich über diese GUID in die Registry schauen gehe, sehe ich dann Werte wie TreiberDatum usw. und auch nochmals die Adapter Description. !Nur ist die ne andere als ich eben per GetAdaptersInfo erhalten habe - in meinem Beispiel:
Intel(R) 82566DM-2 Gigabit Network Connection.

Witzig, denn der Wert aus der Registry scheint zu stimmen: ipconfig /all ergibt das selbe Resultat und ebenso wenn ich auf den Adapter Rechtsklicke...

Wenn du kurz 5min Zeit hast kannste ja das test Programm mal bei dir laufen lassen und mir ein kurzes Feedback geben. THX
Angehängte Dateien
Dateityp: zip networkadaptersinfo_376.zip (4,3 KB, 37x aufgerufen)
Dateityp: zip nai_148.zip (260,2 KB, 25x aufgerufen)
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 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