手元に XP マシンがありません。Windows API Codepack を使用して、C# で Vista/Win7 の新しい機能 ("TaskDialog" など) を実行する場合、Windows XP マシンでの実行にどのように対処しますか?
Codepack を使用する場合、アプリケーションは事実上、Vista 以降のバージョンの Windows のみをサポートしていますか?
手元に XP マシンがありません。Windows API Codepack を使用して、C# で Vista/Win7 の新しい機能 ("TaskDialog" など) を実行する場合、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 アセンブリへの参照のみを含める場合は、問題ありません。ただし、現在アプリケーションを実行している OS に存在しない機能を使用すると、例外がスローされます。機能が安全に呼び出せる (つまり、現在の OS でサポートされている) かどうかを確認するために、ほとんどのクラスには静的IsPlatformSupported
プロパティが含まれています。
したがって、OS が TaskDialogs をサポートしていない場合は、TaskDialog.IsPlatformSupported
最初に確認して代わりに呼び出すことができます。MessageBox.Show()