Systemkonfiguration auslesen

michaelwengert

Erfahrenes Mitglied
Ich würde gerne für eine Rechnerverwaltung auf dem PC die Hardware-Komponenten auslesen ( Grafikkarte, Netzwerkkarte...).
Das Projekt soll in Visual c++ programmiert werden.
Gibt es dazu bereits integrierte Befehle oder brauche ich eine spezielle Klasse?
Wenn ja welche Befehle bzw. Klasse.

Kann mir jemand helfen?

Danke im voraus

Mike
 
C++ bietet von sich aus keine Befehle zu deinem Problem an, was in seiner Philosophie begründet liegt -- C soll klein und effizient sein. C enthält ja noch nicht einmal einen Befehl zum Ausgeben von Text. Und für alles, was mit dem System zu tun hat, gibt es i.d.R. noch nicht einmal Standard-Libraries. Dazu musst du die API bemühen.

Wenn du die Systemkonfig rausbekommen willst, sind da sehr viele verschiedene Funktionen beteiligt -- wie z.B. GetSystemInfo() oder diverse enum-Funktionen --, das hängt auch von deiner Aufgabenstellung ab. Manche Infos lassen sich auch mit DirectX einholen (z.B. DirectShow).

In MSDN findest du alles zu diesem Thema. Wenn du Schwierigkeiten mit den dort angegebenen Funktionen hast, versuchen wir gern, dir weiterzuhelfen!

Gawayn
 
Zuletzt bearbeitet:
Aufgabenstellung

Die Aufgabenstellung ist folgende:

Es soll ein Programm erstellt werden, das alle Rechner in der Firma katalogisiert. In einer MySQL Datenbank sollen Daten zu den Rechnern (IP,Subnet,Grafikkarte, HD,RAM,usw...) gespeichert werden.
Nun wäre es gut wenn man nicht für jeden Rechner die Daten per Hand eingeben müsste, sondern nur das Programm auf dem Rechner startet, und es dann selbstständig alle möglichen Systeminfos ausliest und in der DB speichert.
Die DB ist auch schon designt un bereit, jetzt müssen nur noch die Daten rein, was von der Vorgehensweise mir auch klar ist.
 
Naja, das sollte kein Großes Problem sein, ich würde dafür allerdings den
BCB nehmen, der macht das Erstellen der Oberfläche und vorallem den Zugriff auf
die DB sehr einfach.

Wenns VC++ sein MUSS dann kannste aber natürlich auch auf die WinApi Funktionen zufreigen, nur wie es mit MySQL aussieht weiß ich nicht...

Greetz...
Sinac
 
Das mit der Datenbank ist kein Problem, das hab ich schon ein paar mal gemacht. Das funktioniert auch gut. Es geht eigentlich nur um das auslesen der Systemkonfig.
 
Hab jetzt zum Beispiel das hier gefunden

Code:
BOOL EnumDisplayDevices(

er zeigt mir aber immer an

error C3861: 'EnumDisplayDevices': Bezeichner wurde auch mit einer argumentbezogenen Suche nicht gefunden
 
ICh habe jetzt den Befehl
Code:
GetSystemInfo(lpSystemInfo);
ausprobiert.
Er schreibt mir aber immer

Code:
Run-Time Check Failure #3 - The variable 'lpSystemInfo' is being used without being defined.

obwohl ich die variable deklariert habe.

Code:
LPSYSTEM_INFO lpSystemInfo;

Wie muss ich diese Varialbe definieren
 
Deklariere nicht einen Pointer, sondern direkt eine Variable von dem Typ. Übergebe dann einen Zeiger darauf.

SYSTEM_INFO SystemInfo;

GetSystemInfo( &SystemInfo );


Mit SystemParametersInfo kannst du noch ein paar Sachen mehr abfragen.

EnumDisplayDevices ist ab 98++/2000++ vorhanden. Evtl. musst du dein Programm so einstellen, dass es spätere Windows-Versionen als Win95 zulässt (in Visual C++ mit #define WINVER 0x0500 zum Beispiel)
 
Zurück