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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top