Question

Je n'ai pas une machine XP à portée de main. Si j'utilise l'API Windows CodePack pour faire quelque chose de nouveau à Vista / Win7 (par exemple « TaskDialog ») en C #, comment il faire face à l'exécution sur les ordinateurs Windows XP?

Si je le CodePack, ai-je effectivement fait ma demande ne supporte que Vista et les versions ultérieures de Windows?

Était-ce utile?

La solution

Si vous regardez dans « TaskDialog.cs », vous trouverez que le constructeur de TastDialog comprend les lignes suivantes:

// Throw PlatformNotSupportedException if the user is not running Vista or beyond
CoreHelpers.ThrowIfNotVista();

Si vous incluez seulement une référence à l'assemblage de code API Windows Pack, vous serez très bien. Mais en utilisant une caractéristique qui ne figure pas sur le système d'exploitation en cours d'exécution de votre application va lancer une exception. Pour vérifier si une fonction est sûr à l'appel (à savoir pris en charge sur le système d'exploitation actuel) la plupart des classes comprennent une propriété IsPlatformSupported de statique.

Vous pouvez vérifier TaskDialog.IsPlatformSupported premier appel MessageBox.Show() à la place si votre système d'exploitation ne supporte pas TaskDialogs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top