Hi guys,

Just wondering if there is a way to detect the windows version, form say 95 to win7, in vb.net? pardon my ignorance but im not a big coder and norm only do python. Thanks in advance.

Cheers,
James

MsgBox(My.Computer.Info.OSVersion)

workaround it

To add to what vbnetskywalker posted, you can use System.OperatingSystem to get basic information.

Sub Main()

        Dim osInfo As System.OperatingSystem = System.Environment.OSVersion

        Console.WriteLine(osInfo.Platform.ToString())
        Console.WriteLine(osInfo.VersionString)

        Console.Read()

    End Sub

It's not going to spit out "Windows 7" or "Windows 2000", but you can consult the following link for more information on how to break down the versions.

http://support.microsoft.com/kb/304283

It's kind of dated, since it stops with major version 5, which would be either Windows 2000 or Windows XP (depending on the minor version) at the time of the article.

Thanks for that guys, much appriciated

It's not going to spit out "Windows 7" or "Windows 2000", but you can consult the following link for more information on how to break down the versions.

Was just messing around a bit with what you said but couldn't get it to work exactly so i thought i might play around with what vbnetskywalker said and i found that if i substitute MsgBox(My.Computer.Info.OSVersion) with MsgBox(My.Computer.Info.OSFullName) it will actually give you the name of the OS for example im running win7 pro and it outputs "windows 7 Professional" and on another machine i have win xp pro on it and it says "Windows Xp Porfessional" so i thought i might just update this thread if someone comes looking.

That's good to know, thank you.

As a side note and as a person who works almost exclusively in C#, that method is not natively available in that language (although for all I know, it could be buried somewhere else!). However, you can create a reference to Microsoft.VisualBasic in a C# program and then access the above information accordingly:

Microsoft.VisualBasic.Devices.Computer computer 
                = new Microsoft.VisualBasic.Devices.Computer();

            string operatingSystem = computer.Info.OSFullName;

Again, thank you for the new information.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.