Atlanta Custom Software Development 

   Search        Code/Page

User Login



Forgot the Password?
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
» Regular Expr Tester
» Free Tools

Determine the Windows version (without any API call)
[ All Languages » VB »  Windows]

Total Hit ( 2054)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article



You can use the GetVersion or GetVersionEx API functions to determine which Windows version the application is running on. However, there is a much simpler solution, based on the fact that Windows NT creates an environment variable named "OS" while Windows 95/98 don't. So you can quickly discern between Windows 9x and NT using this one-liner:

Click here to copy the following block
' the OS environment variable returns "Windows_NT" or a null string
isWindowsNt = Environ$("OS") <> ""

Windows 2000 (at least the RC1 version of the Advanced Server edition) does support the OS environment variable, but it returns the string "Windows_NT", so this variable can't be used to discern Windows NT and 2000. However, Windows 2000 apparently creates more environment variables than Windows NT, so you can use any one of them, for example the PROGRAMFILES variable:

Click here to copy the following block
If Len(Environ$("OS")) = 0 Then
  Debug.Print "Windows 95/98"
ElseIf Len(Environ$("PROGRAMFILES")) = 0 Then
  Debug.Print "Windows NT"
  Debug.Print "Windows 2000"
End If

IMPORTANT: As mentioned above, this code is based on tests performed on Windows 2000 Advanced Server Release Candidate 1. It is possible that the Professional edition of Windows 2000 behaves differently, and also that the final version of Windows 2000 will load a different value in the OS environment variable, thus making the above code unnecessary.

Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with, SQL Server and other MS technologies. He is, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )

Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.