API di Windows Codepack Compatibilità con il passato su Windows XP
-
26-09-2019 - |
Domanda
Non ho una macchina XP a portata di mano. Se uso l'API di Windows Codepack di fare qualcosa di nuovo da Vista / Win7 (ad esempio "TaskDialog") in C #, come si affrontare in esecuzione su computer con Windows XP?
Se uso il Codepack, hanno efficacemente ho fatto la mia domanda solo supporta Vista e versioni successive di Windows?
Soluzione
Se si guarda in "TaskDialog.cs", troverete che il costruttore di TastDialog include le seguenti linee:
// Throw PlatformNotSupportedException if the user is not running Vista or beyond
CoreHelpers.ThrowIfNotVista();
Se si include solo un riferimento alla API di Windows Codice pacchetto di montaggio, si andrà bene. Ma usando una caratteristica che non è presente sul sistema operativo attualmente in esecuzione l'applicazione sarà un'eccezione. Per verificare se una funzione è sicuro di chiamata (cioè supportato sul sistema operativo corrente) la maggior parte delle classi includono una proprietà statica IsPlatformSupported
.
Così si potrebbe verificare TaskDialog.IsPlatformSupported
prima e call MessageBox.Show()
invece se il sistema operativo non supporta TaskDialogs.