XP-Variante.

Achtung, diesen Beitrag schrieb ich vor über 12 Jahren. Beachte, dass sich in der Zeit viel geändert haben kann und wird! Nicht alles lässt sich immer noch so anwenden, manches passt auch gar nicht mehr.

Ich stand vor der Aufgabe in einem C#-Programm zwischen Windows XP Home und Windows XP Professional unterscheiden zu können. Für die Unterscheidung unterschiedlicher Windows Versionen nützliche Systemvariablen lassen sich leider nicht nutzen und auf eine Funktion der „kernel32.dll“ wollte ich nicht zurück greifen sondern so weit es geht innerhalb des .Net-Frameworks bleiben.

Doch auch hier gibt es Hilfe. Einfach die Referenz zu System.Management erstellen und eine neue Using-Zeile einfügen:

using System.Management;

Nun kann man auf die benötigten Daten zugreifen. Die folgende Funktion gibt einen String zurück, der bei XP Home „Windows XP Home“ und bei Prof. „Windows XP Professional“ heißt.

string getOS_Caption()
{
   string tmp;
   ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT caption FROM Win32_OperatingSystem");
   tmp = "";
   foreach (ManagementObject obj in searcher.Get())
     tmp = obj["caption"].ToString();
   return tmp;
}

Diese Funktion ist nur ein Ansatz. Jegliche Prüfung ob es überhaupt ein Windows XP ist, werden nicht durchgeführt, das müsst ihr selbst machen 🙂

Achtung, diesen Beitrag schrieb ich vor über 12 Jahren. Beachte, dass sich in der Zeit viel geändert haben kann und wird! Nicht alles lässt sich immer noch so anwenden, manches passt auch gar nicht mehr.

About chaosblog

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.