2009-08-11 8 views
3

Ich muss in meiner Anwendung auf mehrere Prozesse auf die motherboard-Identifizierung (Serien-, Fabrikations-, usw.) zugreifen. Ich konnte dies erfolgreich mit WMI abfragen, aber ich suche nach einer Alternative.Zugriff auf Motherboard-Informationen ohne Verwendung von WMI

Wenn Sie kümmern Situation kennen:

ich einige Anwendungsverhalten haben, die je nach Hardware-Konfiguration unterschiedlich ist, oder wenn eine bestimmte Umgebungsvariable gesetzt ist (für Testzwecke).

Wenn die Umgebungsvariable festgelegt ist, ist die WMI-Abfrage nicht erforderlich - die Anwendung läuft ordnungsgemäß. Wenn die Umgebungsvariable jedoch nicht vorhanden ist, können einige der Komponenten meiner App nicht gestartet werden, wenn die WMI-Abfragen erforderlich sind. Ich vermute, dass es einige Nebenwirkungen der WMI-Anrufe (die nur ein Maximum von einmal pro Prozesse auftreten. Deshalb suche ich nach einem alternativen Weg.

Antwort

1

Anscheinend gibt es keine Möglichkeit, dies zu tun, was bedauerlich ist.

-2

Diese Informationen wird von der CPUID-Anweisung zur Verfügung gestellt Link bietet Ihnen ein Programm, das diese Anweisung verwendet die Ergebnisse der Ausführung des Befehls zu belichten.

cpuid GNU program

+0

ich in CPU-Informationen nicht interessiert bin, aber ich muss in der Lage sein, die Hersteller und die Seriennummer für das Motherboard zu identifizieren . – Valentein

+0

Die CPUID-Anweisung liefert die Seriennummer # – steve

+1

Wieder ist es das Motherboard, das mich interessiert. __cpuid liefert Informationen über die CPU, die für meine Anwendung nicht relevant ist. – Valentein

2

In Vista + können Sie verwenden GetSystemFirmwareTable API, um auf SMBIOS-Tabellen zuzugreifen und sie zu analysieren Erhalte [möglicherweise verfügbare] Seriennummern und andere Identifikationszeichenfolgen und -werte.

Insbesondere können Sie Motherboard-Daten zugreifen, einschließlich Hersteller und S/N:

  Intel Corporation 
      DZ77BH-55K 
      AAG39018-400 
      BQBH206600DT