我没有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代码包的参考组件,你将被罚款。但是,使用功能,不存在正在运行的应用程序会抛出异常的操作系统。要检查是否一个特征是安全的呼叫(即,支持的当前OS上)大多数类包括静态IsPlatformSupported属性。

所以,你可以检查TaskDialog.IsPlatformSupported第一和呼叫MessageBox.Show()代替,如果你的操作系统不支持TaskDialogs。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top