/ / Windows API Codepack Зворотка сумісність для Windows XP - c #, сумісність назад, windows-api-code-pack

Windows Backend сумісність Codepack для Windows XP - c #, сумісність ззаду, windows-api-code-pack

Я не маю під рукою машину XP. Якщо я використовую Codepack Windows API, щоб зробити щось нове для Vista / Win7 (наприклад, "TaskDialog") у C #, як воно справляється із запуском на машинах Windows XP?

Якщо я використовую Codepack, чи ефективно я робив, що моя програма підтримує лише Vista та новіші версії Windows?

Відповіді:

13 за відповідь № 1

Якщо ви подивитесь на "TaskDialog.cs", ви побачите, що конструктор TastDialog "включає такі рядки:

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

Якщо ви включите лише посилання на WindowsЗбірка пакета API-коду, вам буде добре. Але використання функції, якої немає в ОС, в якій зараз працює ваша програма, викине виняток. Щоб перевірити, чи функція безпечна для виклику (тобто підтримується в поточній ОС), у більшості класів є статичний IsPlatformSupported власність

Так ви могли перевірити TaskDialog.IsPlatformSupported спочатку і зателефонуйте MessageBox.Show() натомість якщо ваша ОС не підтримує TaskDialogs.