How to check Operating System?

  • Thread starter Thread starter NateBuckley
  • Start date Start date
N

NateBuckley

Hello I've been using WinAPI calls to do some swanky stuff, but although no
one uses Macs where I work, I'd like (if possible) to aquire the operating
system information so IF Mac then don't do WinAPI calls etc. Not really an
issue at the moment but always good to know just in case.

Is this possible with VBA?

Cheers!
 
Thank you sir! Went through the numbers and was 12 that told me the OS.
Taking it this wouldn't work on a Mac? So Guess just do a test to see if that
call fails, if so goto label then change a bool or something.

Thanks matey!
 
#If Mac Then
' it's a Mac
#Else
' it's not a Mac
#End If

Regards,
Peter T
 
Thank you very much, just what I wanted.

Your a star.

If you have the time may I ask what # means? I shall go and attempt to find
out what they mean from google.

Thanks again
 
Search "compile" and/or "conditional compilation" in VBA help

Regards,
Peter T
 
you can try this:
environ("OS")

or, somebody wrote this, can't remember who, though:

Sub ListEnvioron()
Dim Rng As Range
Dim Ndx As Long
Dim S As String
Dim Pos As Long

Ndx = 1
On Error Resume Next
Set Rng = Range("A1")
Do While True
S = Environ(Ndx)
If Err.Number <> 0 Then
Exit Do
End If
Pos = InStr(1, S, "=")
Rng.Value = Left(S, Pos - 1)
Rng(1, 2).Value = Mid(S, Pos + 1)
Ndx = Ndx + 1
Set Rng = Rng(2, 1)
Loop
End Sub
 
And don't forget: Application.OperatingSystem

--
Jim
"Gary Keramidas" <GKeramidasATmsn.com> wrote in message
| you can try this:
| environ("OS")
|
| or, somebody wrote this, can't remember who, though:
|
| Sub ListEnvioron()
| Dim Rng As Range
| Dim Ndx As Long
| Dim S As String
| Dim Pos As Long
|
| Ndx = 1
| On Error Resume Next
| Set Rng = Range("A1")
| Do While True
| S = Environ(Ndx)
| If Err.Number <> 0 Then
| Exit Do
| End If
| Pos = InStr(1, S, "=")
| Rng.Value = Left(S, Pos - 1)
| Rng(1, 2).Value = Mid(S, Pos + 1)
| Ndx = Ndx + 1
| Set Rng = Rng(2, 1)
| Loop
| End Sub
|
| --
|
|
| Gary
|
|
| | > Search "compile" and/or "conditional compilation" in VBA help
| >
| > Regards,
| > Peter T
| >
| >
| > | >> Thank you very much, just what I wanted.
| >>
| >> Your a star.
| >>
| >> If you have the time may I ask what # means? I shall go and attempt to
find
| >> out what they mean from google.
| >>
| >> Thanks again
| >>
| >> "Peter T" wrote:
| >>
| >>> #If Mac Then
| >>> ' it's a Mac
| >>> #Else
| >>> ' it's not a Mac
| >>> #End If
| >>>
| >>> Regards,
| >>> Peter T
| >>>
| >>> | >>> > Hello I've been using WinAPI calls to do some swanky stuff, but
although
| >>> > no
| >>> > one uses Macs where I work, I'd like (if possible) to aquire the
operating
| >>> > system information so IF Mac then don't do WinAPI calls etc. Not
really an
| >>> > issue at the moment but always good to know just in case.
| >>> >
| >>> > Is this possible with VBA?
| >>> >
| >>> > Cheers!
| >>>
| >>>
| >>>
| >
| >
|
|
 
Gary, unfortunately, depending on the system (incl some Windows), you cannot
rely on environ("OS") to return anything at all.

Mike H, opsystem = Environ(13)
that "OS" relates to 13 is purely specific to your own machine

Regards,
Peter T
 
guess i have to believe you, but it seems to work for me here on a 98 pc, 1
xp home pc, 3 xp pro pc's, win2k3 x64 server r2, vista business x64, vista
ultimate x32 and win2k8 x32 server.
 
:-)

It works on my XP & Vista, but on W98se neither "OS" nor even "Username"
work with Environ.

There are plenty of reports about the unreliable nature of Environ.

Regards,
Peter T


Gary Keramidas said:
guess i have to believe you, but it seems to work for me here on a 98 pc,
1 xp home pc, 3 xp pro pc's, win2k3 x64 server r2, vista business x64,
vista ultimate x32 and win2k8 x32 server.
<snip>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top