One day I fixed some old VB.NET application that works fine in Windows XP and Windows 2000. The problem was, it didn't work as expected with Windows Vista.
I located the spot which handled Windows registry in a way that did not work in Vista and I was quickly able to write a Vista-compatible version. Since it was not possible to have two versions of the application and I did not have time to re-write that part of the code to be compatible with all Windows versions, I decided to include both code snippets in the same version and just check operating system.
Checking operating system version with VB.NET is an easy job and I wrote a little wrapper for my Windows Vista check:
''' <summary> ''' Returns true if the OS version is any Vista version ''' </summary> ''' <returns>True if Vista OS</returns> ''' <remarks></remarks> Public Function IsVista() As Boolean ' If Environment.OSVersion.Version.Major = 6 Then Return True Else Return False End If End Function
In the application I use it in the following way:
If IsVista() Then ' Vista specific code Else ' Code for older Windows versions End If
That saved me a lot of time and testing.