У меня нет машины XP удобной. Если я использую Windows API Codepack, чтобы сделать что-то новое для Vista/Win7 (например, "TaskDialog") в C#, как это справляется с работой машин Windows XP?
Если я использую Codepack, я эффективно подал свою заявку, только поддерживают Vista и более поздние версии Windows?
Если вы посмотрите на "TaskDialog.cs", то обнаружите, что конструктор TastDialog включает следующие строки:
// Throw PlatformNotSupportedException if the user is not running Vista or beyond
CoreHelpers.ThrowIfNotVista();
Если вы включите только ссылку на сборку Windows API Code Pack, то все будет в порядке. Но использование функции, которая не присутствует в ОС, на которой в данный момент работает ваше приложение, вызовет исключение. Чтобы проверить, безопасно ли вызывать функцию (т.е. поддерживается ли она в текущей ОС), большинство классов включают статическое свойство IsPlatformSupported
.
Поэтому вы можете сначала проверить TaskDialog.IsPlatformSupported
и вместо него вызвать MessageBox.Show()
, если ваша ОС не поддерживает TaskDialog.