我没有方便的XP机器。如果我使用Windows API Codepack在C#中对Vista / Win7做一些新的事情(例如“TaskDialog”),它如何应对在Windows XP机器上的运行?
如果我使用Codepack,我是否有效地使我的应用程序仅支持Vista及更高版本的Windows?
答案 0 :(得分:13)
如果查看“TaskDialog.cs”,您会发现TastDialog的构造函数包含以下几行:
// Throw PlatformNotSupportedException if the user is not running Vista or beyond
CoreHelpers.ThrowIfNotVista();
如果您只包含对Windows API Code Pack程序集的引用,那么您可以。但是使用当前运行应用程序的操作系统上不存在的功能将引发异常。要检查某个功能是否可以安全调用(即当前操作系统支持),大多数类都包含静态IsPlatformSupported
属性。
因此,如果您的操作系统不支持TaskDialogs,您可以先检查TaskDialog.IsPlatformSupported
并调用MessageBox.Show()
。