API de Windows Codepack Compatibilidad hacia atrás en Windows XP
-
26-09-2019 - |
Pregunta
No tengo una máquina de XP a mano. Si uso de la API de Windows Codepack hacer algo nuevo para Vista / Win7 (por ejemplo, "TaskDialog") en C #, ¿cómo hacer frente a la que se ejecutan en máquinas con Windows XP?
Si utilizo el Codepack, tiene que efectivamente hice mi solicitud sólo admite Vista y versiones posteriores de Windows?
Solución
Si nos fijamos en "TaskDialog.cs", se encuentra que el constructor de TastDialog incluye las siguientes líneas:
// Throw PlatformNotSupportedException if the user is not running Vista or beyond
CoreHelpers.ThrowIfNotVista();
Si sólo se incluye una referencia al Código paquete de API de Windows montaje, que va a estar bien. Pero el uso de una característica que no está presente en el sistema operativo se está ejecutando actualmente su aplicación va a lanzar una excepción. Para comprobar si una función es segura a la llamada (es decir, apoyado en el sistema operativo actual) la mayoría de las clases incluyen una propiedad IsPlatformSupported
estática.
Así se puede comprobar TaskDialog.IsPlatformSupported
primero y MessageBox.Show()
llamada en lugar si su sistema operativo no admite TaskDialogs.