Here is more Windows information. It's essentially the same as Soja's with more fruity bits:
BTW Shane, love your WinXP tips!
BTW Shane, love your WinXP tips!
; Operating System Information ; userlibs ; ****************************** ; .lib "Kernel32.dll" ; GetSystemInfo%(infoPTR*):"GetSystemInfo" ; GetVersionEx%(versioninfoPTR*):"GetVersionExA" ; ****************************** Const PROCESSOR_ARCHITECTURE_ALPHA = 2 Const PROCESSOR_ARCHITECTURE_INTEL = 0 Const PROCESSOR_ARCHITECTURE_MIPS = 1 Const PROCESSOR_ARCHITECTURE_PPC = 3 Const PROCESSOR_ARCHITECTURE_UNKNOWN = $FFFF Const PROCESSOR_INTEL_386 = 386 Const PROCESSOR_INTEL_486 = 486 Const PROCESSOR_INTEL_PENTIUM = 586 Const PROCESSOR_INTEL_PENTIUM2 = 686 Const PROCESSOR_INTEL_PENTIUM3 = 786 Const PROCESSOR_MIPS_R4000 = 4000 Const VER_PLATFORM_WIN32_NT = 2 Const VER_PLATFORM_WIN32_WINDOWS = 1 Type SYSinfoType Field wProcessorArchitecture% Field wReserved% Field dwPageSize% Field lpMinimumApplicationAddress% Field lpMaximumApplicationAddress% Field dwActiveProcessorMask% Field dwNumberOfProcessors% Field dwProcessorType% Field dwAllocationGranularity% Field wProcessorLevel% Field wProcessorRevision% End Type sys.SYSinfoType=New SYSinfoType Type OSinfoType Field OSVersionInfoSize% Field MajorVersion% Field MinorVersion% Field BuildNumber% Field PlatformId% Field CSDVersion$ ; 128 in length End Type os.OSinfoType=New OSinfoType os\OSVersionInfoSize=128+20 GetVersionEx(os.OSinfoType) GetSystemInfo(sys.SYSinfoType) rev=sys\wProcessorRevision ; TEMP Print "processer architech "+sys\wProcessorArchitecture% Print "reserved "+sys\wReserved% Print "pagesize "+sys\dwPageSize% Print "min app addr "+sys\lpMinimumApplicationAddress% Print "max app addr "+sys\lpMaximumApplicationAddress% Print "processor mask "+sys\dwActiveProcessorMask% Print "num processors "+sys\dwNumberOfProcessors% Print "processor type "+sys\dwProcessorType% Print "allocg "+sys\dwAllocationGranularity% Print "processor level "+sys\wProcessorLevel% Print "processor revision "+sys\wProcessorRevision% Print "" ; operating system information osname$="?" Select os\PlatformId Case 0 : osname$="Windows 32s " Case VER_PLATFORM_WIN32_WINDOWS osname$="Windows 95" If os\MinorVersion>=10 osname$="Windows 98" Case VER_PLATFORM_WIN32_NT osname$="Windows NT " End Select Print "Operating System: "+osname$ Print " Version: "+ Str$(os\MajorVersion)+"."+Str$(os\MinorVersion) Print " Build: "+Str$(os\BuildNumber) Print " CSD Version: "+os\CSDVersion ; system processor details Select sys\wProcessorArchitecture Case PROCESSOR_ARCHITECTURE_INTEL ; Intel Select os\PlatformId Case VER_PLATFORM_WIN32_NT Select sys\wProcessorLevel Case 3 procname$="Intel 80386" If (rev And $FF00) = $FF00 procname$=procname$ + " Model " + Str$(((rev And $F0)/$F)-10) + " Stepping " + Str$((rev And $F)) Else procname$=procname$ + " Stepping " + Chr$(Asc("A") + Str$((rev And $FF)/$FF)) + " Stepping " + Str$((rev And $FF)) End If Case 4 procname$="Intel 80486" If (rev And $FF00) = $FF00 procname$=procname$ + " Model " + Str$(((rev And $F0) / $F) - 10) + " Stepping " + Str$((rev And $F)) Else procname$=procname$ + " Stepping " + Chr$(Asc("A")) + Str$((rev And $FF)/$FF) + " Stepping " + Str$(rev And $FF) End If Case 5 procname$ = "Pentium Model " + Str$((rev And $FF00)/$FF) + " Stepping " + Str$((rev And $FF)) Case 6 procname$ = "Pentium II Model " + Str$ ((rev And $FF00)/$FF) + " Stepping " + Str$((rev And $FF)) Case 7 procname$ = "Pentium III Model " + Str$ ((rev And $FF00)/$FF) + " Stepping " + Str$((rev And $FF)) End Select Case VER_PLATFORM_WIN32_WINDOWS Select sys\dwProcessorType Case PROCESSOR_INTEL_386 : procname$ = "Intel 80386" Case PROCESSOR_INTEL_486 : procname$ = "Intel 80486" Case PROCESSOR_INTEL_PENTIUM : procname$ = "Pentium" Case PROCESSOR_INTEL_PENTIUM2 : procname$ = "Pentium II" Case PROCESSOR_INTEL_PENTIUM3 : procname$ = "Pentium III" End Select End Select ; MIPS Architecture (only For WinNT) Case PROCESSOR_ARCHITECTURE_MIPS procname$ = "MIPS R" + sys\wProcessorLevel + "000" ; ALPHA Architecture (only For WinNT) Case PROCESSOR_ARCHITECTURE_ALPHA procname$ = "Alpha " + sys\wProcessorLevel + " Model A" + Str$((rev And $FF00)/$FF) + " Pass " + Str$((rev And $FF)) ; PPC Architecture (only For WinNT) Case PROCESSOR_ARCHITECTURE_PPC Select sys\wProcessorLevel Case 1, 3, 4, 20 procname$ = "PPC 6" + Right$(String$("0",16)+Str$(sys\wProcessorLevel),2) Case 6 procname$ = "PPC 603+" Case 9 procname$ = "PPC 604+" End Select procname$ = procname$ + " Processor Version " + Str$((rev And $FF00)/$FF) + "." + Str$((rev And $FF)) End Select Print procname$ Print " ----------------------------------" a$=Input$("Press RETURN to end ...") End