Um Fehlfunktionen in Anwendungsprogrammen zu verhindern, muss häufig vor dem Aufruf systemspezifischer Funktionen zunächst das aktuell verwendete Windows-System ermittelt werden. Nur so können Unterschiede berücksichtigt und entsprechend dem vorhandenen System variiert werden. Wie kann ich prüfen, ob meine Windows-Anwendung unter Windows 7 etc. ausgeführt wird?
public enum OSVersionEnum : int { /// <summary> /// Unknown /// </summary> Unknown = 0, /// <summary> /// Microsoft Windows 95 /// </summary> Win95, /// <summary> /// Microsoft Windows 98 /// </summary> Win98, /// <summary> /// Microsoft Windows ME /// </summary> WinME, /// <summary> /// Microsoft Windows NT 4.0 /// </summary> WinNT4, /// <summary> /// Microsoft Windows 2000 /// </summary> Win2000, /// <summary> /// Microsoft Windows XP /// </summary> WinXP, /// <summary> /// Microsoft Windows Server 2003 /// </summary> Win2003, /// <summary> /// Microsoft Windows Vista /// </summary> WinVista, /// <summary> /// Microsoft Windows 7 /// </summary> Win7 }
/// <summary> /// Liefert den Namen des Betriebssytem (z.B. "Windows XP") /// </summary> /// <returns></returns> public static string OSName { get { switch (OSVersion) { case OSVersionEnum.Win95: return "Windows 95"; case OSVersionEnum.Win98: return "Windows 98"; case OSVersionEnum.WinME: return "Windows ME"; case OSVersionEnum.WinNT4: return "Windows NT 4"; case OSVersionEnum.Win2000: return "Windows 2000"; case OSVersionEnum.WinXP: return "Windows XP"); case OSVersionEnum.Win2003: return "Windows Server 2003"); case OSVersionEnum.WinVista: return "Windows Vista"); case OSVersionEnum.Win7: return "Windows 7"); } return ""; } }