Ü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.");
}
{
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:
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);
}
}
}
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;