Windows-API Codepack Rückwärtskompatibilität unter Windows XP
-
26-09-2019 - |
Frage
Ich habe nicht eine XP-Maschine praktisch. Wenn ich das Windows-API-Codepack verwenden, etwas Neues zu Vista / Win7 (zum Beispiel „Taskdialog“) in C # zu tun, wie funktioniert es fertig auf Windows XP-Maschinen mit ausgeführt wird?
Wenn ich das Codepack verwenden, habe ich effektiv gemacht nur meine Anwendung Vista und spätere Versionen von Windows unterstützen?
Lösung
Wenn man sich in „TaskDialog.cs“, werden Sie feststellen, dass TastDialog Konstruktor die folgenden Zeilen enthält:
// Throw PlatformNotSupportedException if the user is not running Vista or beyond
CoreHelpers.ThrowIfNotVista();
Wenn Sie nur einen Verweis auf die Windows-API-Code-Pack-Anordnung enthalten, werden Sie in Ordnung sein. Aber mit einer Funktion, die derzeit nicht auf dem O ist Ihre Anwendung ausgeführt wird eine Ausnahme werfen. Um zu überprüfen, ob eine Funktion Anruf sicher ist (das heißt auf dem aktuellen Betriebssystem unterstützt) die meisten Klassen eine statische IsPlatformSupported
Eigenschaft umfassen.
So können Sie überprüfen könnten TaskDialog.IsPlatformSupported
ersten und Call MessageBox.Show()
statt, wenn Ihr Betriebssystem nicht TaskDialogs nicht unterstützt.