Atlanta Custom Software Development 

 
   Search        Code/Page
 

User Login
Email

Password

 

Forgot the Password?
Services
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
Programming
  Database
Automation
OS/Networking
Graphics
Links
Tools
» Regular Expr Tester
» Free Tools

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

Total Hit ( 3235)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article

Rating


 


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"
Else
  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 VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, 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.