WindowsのXP上のWindows API Codepack後方互換性
-
26-09-2019 - |
質問
私はXPマシンが手元にありません。私はWindowsのAPI Codepackは、C#でビスタ/ 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コードパックへの参照が含まれている場合は、、あなたは罰金になります。しかし、現在のアプリケーションを実行しているOSに存在していない機能を使用すると、例外がスローされます。機能はほとんどのクラスは、静的のIsPlatformSupported
プロパティが含まれる(すなわち、現在のOSでサポート)を呼び出しても安全であるかどうかをチェックする。
あなたのOSがTaskDialogsをサポートしていない場合は、代わりに最初TaskDialog.IsPlatformSupported
とコールMessageBox.Show()
をチェックすることができるようにます。
所属していません StackOverflow