I don't have an XP machine handy. If I use the Windows API Codepack to do something new to Vista/Win7 (e.g. "TaskDialog") in C#, how does it cope with running on Windows XP machines?
If I use the Codepack, have I effectively made my application only support Vista and later versions of Windows?
If you look into "TaskDialog.cs", you will find that TastDialog's constructor includes the following lines:
// Throw PlatformNotSupportedException if the user is not running Vista or beyond
CoreHelpers.ThrowIfNotVista();
If you only include a reference to the Windows API Code Pack assembly, you will be fine. But using a feature which is not present on the OS currently running your application will throw an exception. To check if a feature is safe to call (i.e. supported on the current OS) most classes include a static IsPlatformSupported
property.
So you could check TaskDialog.IsPlatformSupported
first and call MessageBox.Show()
instead if your OS doesn't support TaskDialogs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With