8

手元に XP マシンがありません。Windows API Codepack を使用して、C# で Vista/Win7 の新しい機能 ("TaskDialog" など) を実行する場合、Windows XP マシンでの実行にどのように対処しますか?

Codepack を使用する場合、アプリケーションは事実上、Vista 以降のバージョンの Windows のみをサポートしていますか?

4

1 に答える 1

13

「TaskDialog.cs」を調べると、TastDialog のコンストラクターに次の行が含まれていることがわかります。

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

Windows API Code Pack アセンブリへの参照のみを含める場合は、問題ありません。ただし、現在アプリケーションを実行している OS に存在しない機能を使用すると、例外がスローされます。機能が安全に呼び出せる (つまり、現在の OS でサポートされている) かどうかを確認するために、ほとんどのクラスには静的IsPlatformSupportedプロパティが含まれています。

したがって、OS が TaskDialogs をサポートしていない場合は、TaskDialog.IsPlatformSupported最初に確認して代わりに呼び出すことができます。MessageBox.Show()

于 2010-05-14T17:52:14.910 に答える