Site logo
Site logo
Programmieren aus Leidenschaft
Programmieren aus Leidenschaft

Überprüfung der Plattform


Natürlich muss vor der Verwendung der neuen API Funktionen überprüft werden, ob das verwendete Betriebssystem diese auch unterstützt. Als Entwickler weiss man leider nie im Voraus auf welchem Betriebssystem eine Anwendung letztendlich ausgeführt wird. Die Überprüfung ist zum Glück recht einfach und erfordert nur wenige Zeilen Programmcode.
if(!TaskbarManager.IsPlatformSupported)
{
        MessageBox.Show("Diese Anwendung benötig Windows 7.");
}
Ob man in solch einem Fall das Programm beendet oder die neuen Funktionen nur nicht zu Verfügung stellt, sollte jeder Entwickler für sich entscheiden. Noch ist Windows 7 nicht weit verbreitet und die neuen Taskbar Funktionen auch nicht zwingend erforderlich. Wahrscheinlich wäre es daher besser, alle erweiterten Funktionen in eine Klasse zu kapseln und nur dann freizugeben, wenn die Plattform es erlaubt. So kann der Benutzer weiterhin mit der Anwendung arbeiten und kommt automatisch in den Genuss der neuen Funktionen, wenn er Update des Betriebssystems durchführt.
 
Der Start einer WPF-Anwendung könnte beispielsweise so aussehen: 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using Microsoft.WindowsAPICodePack.Taskbar;
 
namespace Windows7API
{
        public class WPFApplication : Application
        {
                        [STAThread]
                        public static void Main()
                        {
                                WPFApplication myApp = new WPFApplication();

                                MainWindow myWindow = new MainWindow();

                                if (!TaskbarManager.IsPlatformSupported)
                                {

                                        MessageBox.Show("Diese Anwendung benötig Windows 7");
                                        myApp.Shutdown(0);
                                }
                                myApp.ShutdownMode = ShutdownMode.OnMainWindowClose;
                                myApp.Run(myWindow);
                }
        }
}
Als Alternative, auch unabhängig vom API Code Pack, lässt sich die Version des Betriebssystems auf folgende Art ermitteln:
Environment.OSVersion.Version.Major >= 6;