Windows API Codepack Backwards Compatibility на Windows XP

У меня нет машины XP удобной. Если я использую Windows API Codepack, чтобы сделать что-то новое для Vista/Win7 (например, "TaskDialog") в C#, как это справляется с работой машин Windows XP?

Если я использую Codepack, я эффективно подал свою заявку, только поддерживают Vista и более поздние версии Windows?

8
задан Cœur 28 June 2018 в 12:50
поделиться

1 ответ

Если вы посмотрите на "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.

13
ответ дан 5 December 2019 в 12:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: