ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Detecting which Windows is running (https://www.excelbanter.com/excel-programming/412607-detecting-windows-running.html)

avi

Detecting which Windows is running
 
Hello,

Is there a simple way to know programatically if the user's computer
runs Vista or XP?

Thanks a lot
Avi

RB Smissaert

Detecting which Windows is running
 
Haven't tested on Vista as I don't have it, but see what this shows:

Option Explicit
Private Const VER_PLATFORM_WIN32_NT = 2
Private Const VER_PLATFORM_WIN32_WINDOWS = 1
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128 ' Maintenance string for PSS usage
End Type
Private Declare Function GetVersionEx Lib "kernel32" _
Alias "GetVersionExA" _
(lpVersionInformation As
OSVERSIONINFO) As Long

Function getWindowsVersion() As String

Dim TheOS As OSVERSIONINFO
Dim strCSDVersion As String

TheOS.dwOSVersionInfoSize = Len(TheOS)
GetVersionEx TheOS

Select Case TheOS.dwPlatformId
Case VER_PLATFORM_WIN32_WINDOWS
If TheOS.dwMinorVersion = 10 Then
getWindowsVersion = "Windows 98 version: "
Else
getWindowsVersion = "Windows 95 version: "
End If
Case VER_PLATFORM_WIN32_NT
getWindowsVersion = "Windows NT version: "
End Select

'Extract the Additional Version Information from
'the string with null char terminator
If InStr(TheOS.szCSDVersion, Chr(0)) < 0 Then
strCSDVersion = ": " & Left$(TheOS.szCSDVersion, _
InStr(TheOS.szCSDVersion, Chr(0)) - 1)
Else
strCSDVersion = ""
End If

getWindowsVersion = getWindowsVersion & TheOS.dwMajorVersion & "." & _
TheOS.dwMinorVersion & _
" (Build " & TheOS.dwBuildNumber & strCSDVersion & ")"

End Function


Sub test()

MsgBox getWindowsVersion(), , "Windows version"

End Sub


RBS


"avi" wrote in message
...
Hello,

Is there a simple way to know programatically if the user's computer
runs Vista or XP?

Thanks a lot
Avi



Mike H

Detecting which Windows is running
 
Hi,

This reports it correctly on mine but not tested on other systems

mysystem = Environ(13)

Mike

"avi" wrote:

Hello,

Is there a simple way to know programatically if the user's computer
runs Vista or XP?

Thanks a lot
Avi


Leith Ross[_2_]

Detecting which Windows is running
 
On Jun 14, 11:16 am, Mike H wrote:
Hi,

This reports it correctly on mine but not tested on other systems

mysystem = Environ(13)

Mike

"avi" wrote:
Hello,


Is there a simple way to know programatically if the user's computer
runs Vista or XP?


Thanks a lot
Avi


Hello Avi,

Another method is to use "Application.Version". Xp returns "11.0", and
Vista "12.0"

Sincerely,
Leith Ross

Dave Peterson

Detecting which Windows is running
 
I bet you meant: Application.OperatingSystem

Application.version will give the version of excel (11 is xl2003, 12 is xl2007
(I bet)).



Leith Ross wrote:

<<snipped

Another method is to use "Application.Version". Xp returns "11.0", and
Vista "12.0"

Sincerely,
Leith Ross


--

Dave Peterson

RB Smissaert

Detecting which Windows is running
 
Thanks for the tip; nice and simple.

RBS


"Dave Peterson" wrote in message
...
I bet you meant: Application.OperatingSystem

Application.version will give the version of excel (11 is xl2003, 12 is
xl2007
(I bet)).



Leith Ross wrote:

<<snipped

Another method is to use "Application.Version". Xp returns "11.0", and
Vista "12.0"

Sincerely,
Leith Ross


--

Dave Peterson



Rick Rothstein \(MVP - VB\)[_2128_]

Detecting which Windows is running
 
If it helps any, on my 32-bit Vista Ultimate Edition system,
Application.OperatingSystem returns this...

Windows (32-bit) NT 6.00

Rick


"Dave Peterson" wrote in message
...
I bet you meant: Application.OperatingSystem

Application.version will give the version of excel (11 is xl2003, 12 is
xl2007
(I bet)).



Leith Ross wrote:

<<snipped

Another method is to use "Application.Version". Xp returns "11.0", and
Vista "12.0"

Sincerely,
Leith Ross


--

Dave Peterson



Ron de Bruin

Detecting which Windows is running
 
If you run it on 64 bit system it return also 32 bit

I have report this bug

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Rick Rothstein (MVP - VB)" wrote in message ...
If it helps any, on my 32-bit Vista Ultimate Edition system,
Application.OperatingSystem returns this...

Windows (32-bit) NT 6.00

Rick


"Dave Peterson" wrote in message
...
I bet you meant: Application.OperatingSystem

Application.version will give the version of excel (11 is xl2003, 12 is
xl2007
(I bet)).



Leith Ross wrote:

<<snipped

Another method is to use "Application.Version". Xp returns "11.0", and
Vista "12.0"

Sincerely,
Leith Ross


--

Dave Peterson



Rick Rothstein \(MVP - VB\)[_2129_]

Detecting which Windows is running
 
It is always better to use the Set variable name instead of its location in
the list (which could be different between different computers). For the
operating system, that would be 'OS' as in...

mysystem = Environ("OS")

However, this only return Windows_NT whereas the Application.OperatingSystem
statement mentioned elsewhere in this thread returns this..

Windows (32-bit) NT 6.00

which contains a little extra information. By the way, if you ever want to
see the various variable (names, for use in the Environ statement, and
settings), bring up a Command Prompt window (found in All Programs,
Accessories I think), type SET and hit the Enter key.

Rick


"Mike H" wrote in message
...
Hi,

This reports it correctly on mine but not tested on other systems

mysystem = Environ(13)

Mike

"avi" wrote:

Hello,

Is there a simple way to know programatically if the user's computer
runs Vista or XP?

Thanks a lot
Avi




All times are GMT +1. The time now is 05:44 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com