News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

OS Info Dump

Started by dedndave, July 28, 2009, 01:41:48 PM

Previous topic - Next topic

sinsi

win32s? that was the only way you could edit/listen to all of the voices in Warcraft 2 (and make maps). DOS game but win32 tools - blizzard wizards, ahead of their time.
That win32.hlp is full of references to win32s.
Light travels faster than sound, that's why some people seem bright until you hear them.

dedndave

i remember warcraft, i think - maybe i am thinking of "world of warcraft" - my nephew plays that
i was always amazed by Starflight, if you remember those (electronic arts, i think)
they crammed a lot of stuff onto 2 360K floppies - lol

as for ID'ing different OS's:
notice that some information is gained from the fact that certain keys/values are NOT present
i.e. there is information present in its' absence

XP media center (mine)

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName"="Microsoft Windows XP"
"CurrentVersion"="5.1"
"CurrentBuildNumber"="2600"
"SubVersionNumber"=""
"CSDVersion"="Service Pack 2"
"BuildLab"="2600.xpsp_sp2_rtm.040803-2158"
"ProductId"="76487-OEM-XXXXXXX-XXXXX"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center]
"Ident"="4.0"

XP pro (dsouza123)

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName"="Microsoft Windows XP"
"CurrentVersion"="5.1"
"CurrentBuildNumber"="2600"
"SubVersionNumber"=""
"CSDVersion"="Service Pack 2"
"BuildLab"="2600.xpsp_sp2_gdr.090206-1233"
"ProductId"="76487-OEM-XXXXXXX-XXXXX"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center]
"Ident"=(Key not found)

they even have the same ProductId footprint
the absence of [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center] tells me it is XP pro

FORTRANS

Quote from: dedndave on July 29, 2009, 02:09:00 PM
Steve - your house must be a museum like mine - lol
i have never even heard of win32s

   Well, museum is a bit polite.  Win32s was an add-on to Windows
3.1x that was to be a lead into Windows 95, which was "supposed"
to be 32-bit.  Gave a 32-bit API (sorta) to run the new win 95 programs.

Steve

Wistrik

Thanks dedndave, I'm still trying to tame Vista; I've only had it since spring. My second output was because 7zip put itself into compatibility mode by default. I disabled that and now the output matches the first one. However, Administrator Rights has no effect on the first output I provided, so it could be UAC doing something in the background (I get no popups - and I don't have it disabled). Thanks for the other info, though I've already figured that out by trying to get various games to run (and later to modify them).

dedndave

have you looked at the wow64 hive ?
vista 64 ultimate seems to "virtualize" that part of the registry as it appears to external programs
i do not have a vista 64 machine to play with, so the details are a little unclear to me

fearless

Looking at the GetVersionEx api, in my old .hlp version it shows information for OSVERSIONINFO structure

typedef struct _OSVERSIONINFO{ 
    DWORD dwOSVersionInfoSize;
    DWORD dwMajorVersion;
    DWORD dwMinorVersion;
    DWORD dwBuildNumber;
    DWORD dwPlatformId;
    TCHAR szCSDVersion[ 128 ];
} OSVERSIONINFO;


Members

dwOSVersionInfoSize

Specifies the size, in bytes, of this data structure. Set this member to sizeof(OSVERSIONINFO) before calling the GetVersionEx function.

dwMajorVersion

Identifies the major version number of the operating system. For example, for Windows NT version 3.51, the major version number is 3; and for Windows NT version 4.0, the major version number is 4.

dwMinorVersion

Identifies the minor version number of the operating system. For example, for Windows NT version 3.51, the minor version number is 51; and for Windows NT version 4.0, the minor version number is 0.

dwBuildNumber

Windows NT: Identifies the build number of the operating system.
Windows 95: Identifies the build number of the operating system in the low-order word. The high-order word contains the major and minor version numbers.

dwPlatformId

Identifies the operating system platform. This member can be one of the following values:

Value Platform
VER_PLATFORM_WIN32s Win32s on Windows 3.1.
VER_PLATFORM_WIN32_WINDOWS Win32 on Windows 95.
VER_PLATFORM_WIN32_NT Win32 on Windows NT.


szCSDVersion

Windows NT: Contains a null-terminated string, such as "Service Pack 3", that indicates the latest Service Pack installed on the system. If no Service Pack has been installed, the string is empty.
Windows 95: Contains a null-terminated string that provides arbitrary additional information about the operating system.



On the MSDN site, there is more information, including how to detect if running under WOW64: IsWow64Process. Between the two sources, there seems to be 'extra' information that could be useful to you.

http://msdn.microsoft.com/en-us/library/ms724833%28VS.85%29.aspx
ƒearless

dedndave

wow - thank you fearless - great info
now, let me suck it all in - lol

dedndave

ok - i added GetVersionEx
the d/l is added to the first post of the thread
here is a link to that d/l...
http://www.masm32.com/board/index.php?action=dlattach;topic=11963.0;id=6531

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName"="Microsoft Windows XP"
"CurrentVersion"="5.1"
"CurrentBuildNumber"="2600"
"SubVersionNumber"=""
"CSDVersion"="Service Pack 2"
"BuildLab"="2600.xpsp_sp2_rtm.040803-2158"
"ProductId"="76487-OEM-XXXXXXX-XXXXX"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center]
"Ident"="4.0"

OSVERSIONINFOEX Structure:

       Version.Build: 5.1.2600
         Platform ID: Win32 on Windows NT
         CSD Version: Service Pack 2
Service Pack Version: 2.0
          Suite Mask: 0000000100000000
        Product Type: Windows 2000 Pro/XP/Vista Workstation

bruce1948


DednDave OS Info Dump

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName"="Microsoft Windows XP"
"CurrentVersion"="5.1"
"CurrentBuildNumber"="2600"
"SubVersionNumber"=""
"CSDVersion"="Service Pack 3"
"BuildLab"="2600.xpsp_sp3_gdr.090206-1234"
"ProductId"="76477-OEM-XXXXXXX-XXXXX"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center]
"Ident"=(Value not found)

OSVERSIONINFOEX Structure:

       Version.Build: 5.1.2600
         Platform ID: Win32 on Windows NT
         CSD Version: Service Pack 3
Service Pack Version: 3.0
          Suite Mask: 0000001100000000
        Product Type: Windows 2000 Pro/XP/Vista Workstation

Press any key to exit

lingo

DednDave OS Info Dump

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName"="Windows 7 Ultimate"
"CurrentVersion"="6.1"
"CurrentBuildNumber"="7600"
"SubVersionNumber"=(Value not found)
"CSDVersion"=(Value not found)
"BuildLab"="7600.win7_rtm.090713-1255"
"ProductId"="89580-014-XXXXXXX-XXXXX"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center]
"Ident"="6.0"

OSVERSIONINFOEX Structure:

       Version.Build: 6.1.7600
         Platform ID: Win32 on Windows NT
         CSD Version:
Service Pack Version: 0.0
          Suite Mask: 0000000100000000
        Product Type: Windows 2000 Pro/XP/Vista Workstation

Press any key to exit

rags

Here's my info from Win XP Home sp2:


DednDave OS Info Dump

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName"="Microsoft Windows XP"
"CurrentVersion"="5.1"
"CurrentBuildNumber"="2600"
"SubVersionNumber"=""
"CSDVersion"="Service Pack 2"
"BuildLab"="2600.xpsp_sp2_gdr.070227-2254"
"ProductId"="55277-OEM-XXXXXXX-XXXXX"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center]
"Ident"=(Key not found)
God made Man, but the monkey applied the glue -DEVO

dedndave

thanks rags - there is a newer version, but i think i can guess the values for XP Home Edition
the OSVERSIONINFOEX Structure info will probably be identical to Bruce's (except for sp2/sp3)

sinsi

Fired up the trusty vmware just for you dave...

95 OSR2 ------------------
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName"=(Key not found)
"CurrentVersion"=(Key not found)
"CurrentBuildNumber"=(Key not found)
"SubVersionNumber"=(Key not found)
"CSDVersion"=(Key not found)
"BuildLab"=(Key not found)
"ProductId"=(Key not found)

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center]
"Ident"=(Key not found)

OSVERSIONINFOEX Structure:

       Version.Build: 0.0.0
         Platform ID: Win32s on Windows 3.1
         CSD Version:
Service Pack Version: 0.0
          Suite Mask: 0000000000000000
        Product Type: 0


98SE   ------------------
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName"=(Value not found)
"CurrentVersion"=(Value not found)
"CurrentBuildNumber"=(Value not found)
"SubVersionNumber"=(Value not found)
"CSDVersion"=(Value not found)
"BuildLab"=(Value not found)
"ProductId"=(Value not found)

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center]
"Ident"=(Key not found)

OSVERSIONINFOEX Structure:

       Version.Build: 4.10.67766446
         Platform ID: Win32 on Windows 95
         CSD Version:  A
Service Pack Version: 0.0
          Suite Mask: 0000000000000000
        Product Type: 0


NT4WS  ------------------
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName"=(Value not found)
"CurrentVersion"="4.0"
"CurrentBuildNumber"="1381"
"SubVersionNumber"=(Value not found)
"CSDVersion"="Service Pack 6"
"BuildLab"=(Value not found)
"ProductId"="31097OEM002667761855"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center]
"Ident"=(Key not found)

OSVERSIONINFOEX Structure:

       Version.Build: 4.0.1381
         Platform ID: Win32 on Windows NT
         CSD Version: Service Pack 6
Service Pack Version: 6.0
          Suite Mask: 0000000000000000
        Product Type: Windows 2000 Pro/XP/Vista Workstation


2000PRO  ------------------
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName"="Microsoft Windows 2000"
"CurrentVersion"="5.0"
"CurrentBuildNumber"="2195"
"SubVersionNumber"=(Value not found)
"CSDVersion"="Service Pack 4"
"BuildLab"=(Value not found)
"ProductId"="51873-OEM-XXXXXXX-XXXXX"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center]
"Ident"=(Key not found)

OSVERSIONINFOEX Structure:

       Version.Build: 5.0.2195
         Platform ID: Win32 on Windows NT
         CSD Version: Service Pack 4
Service Pack Version: 4.0
          Suite Mask: 0000000000000000
        Product Type: Windows 2000 Pro/XP/Vista Workstation

WIN7 x64 ------------------
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName"="Windows 7 Ultimate"
"CurrentVersion"="6.1"
"CurrentBuildNumber"="7100"
"SubVersionNumber"=(Value not found)
"CSDVersion"=(Value not found)
"BuildLab"="7100.winmain_win7rc.090421-1700"
"ProductId"="00447-321-XXXXXXX-XXXXX"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center]
"Ident"="6.0"

OSVERSIONINFOEX Structure:

       Version.Build: 6.1.7100
         Platform ID: Win32 on Windows NT
         CSD Version:
Service Pack Version: 0.0
          Suite Mask: 0000000100000000
        Product Type: Windows 2000 Pro/XP/Vista Workstation

Light travels faster than sound, that's why some people seem bright until you hear them.

dedndave

thanks, sinsi - that is a lot of good poop
i wonder what regsitry values i should look at to ID win 95/98/98se/ME
any suggestions ?

sinsi

A quick look at the 95 registry

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"ProductId"="24264-XXX-XXXXXXX-13217"
"SubVersionNumber"=" B"
"ProductName"="Microsoft Windows 95"
"Version"="Windows 95"
"VersionNumber"="4.00.1111"

heh, the X's are in the registry, not me.
Light travels faster than sound, that's why some people seem bright until you hear them.