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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top