; Check the windows Version xD ; simple test program. ; DS @ dSR - March 2001 .386 .Model flat, stdcall option casemap :none include \masm32\include\windows.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc include \masm32\include\shell32.inc includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib includelib \masm32\lib\shell32.lib .Data MB_OK equ 0 NULL equ 0 wincaption db "check OS", 0h win9x db "Is a win9x family", 0h winnt db "Is a winNT family", 0h oddver db "Unknow windows version", 0h strings db "%u.%u Build %u",0h .DATA? ; Preguntar por que el ? osvinfo OSVERSIONINFO <> winver db 512 dup(?) .code Main: xor eax, eax mov osvinfo.dwOSVersionInfoSize,SIZEOF OSVERSIONINFO ; osvinfo.dwOSVersion.. = sizeof(struct) invoke GetVersionEx, addr osvinfo .IF eax==0 invoke MessageBox, NULL, offset oddver, offset wincaption, MB_OK jmp exit .ENDIF invoke wsprintf, addr winver, addr strings, osvinfo.dwMajorVersion, osvinfo.dwMinorVersion, osvinfo.dwBuildNumber invoke MessageBox, NULL, offset winver, offset wincaption, MB_OK exit: invoke ExitProcess, 0 end Main