Abwärtskompatibilität für Windows-API-Codepack unter Windows XP

8

Ich habe keine XP-Maschine zur Hand. Wenn ich das Windows-API-Codepack verwende, um etwas in Vista / Win7 (z. B. "TaskDialog") in C # zu machen, wie bewältigt es das Ausführen auf Windows XP-Computern?

Wenn ich das Codepack verwende, habe ich meine Anwendung effektiv nur Vista und höhere Versionen von Windows unterstützt?

    
Neil Barnwell 12.05.2010, 23:40
quelle

1 Antwort

13

Wenn Sie sich "TaskDialog.cs" ansehen, werden Sie feststellen, dass der Konstruktor von TastDialog die folgenden Zeilen enthält:

%Vor%

Wenn Sie nur einen Verweis auf die Windows-API-Code-Pack-Assembly einschließen, ist alles in Ordnung. Wenn Sie jedoch eine Funktion verwenden, die nicht auf dem Betriebssystem vorhanden ist, auf dem die Anwendung gerade ausgeführt wird, wird eine Ausnahme ausgelöst. Um zu überprüfen, ob ein Feature sicher aufgerufen werden kann (d. H. Vom aktuellen Betriebssystem unterstützt), enthalten die meisten Klassen eine statische IsPlatformSupported -Eigenschaft.

Sie könnten also TaskDialog.IsPlatformSupported zuerst überprüfen und MessageBox.Show() stattdessen aufrufen, wenn Ihr Betriebssystem TaskDialogs nicht unterstützt.

    
JPW 14.05.2010, 17:52
quelle