winver.nsh revision 168f0d5dcd9366f5e1c22fcc49f8dc5a20d4686e
040b4a09341f574825386333398110f4db3e1e51vboxsync; GetWindowsVersion
040b4a09341f574825386333398110f4db3e1e51vboxsync; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
040b4a09341f574825386333398110f4db3e1e51vboxsync; Updated by Joost Verburg
040b4a09341f574825386333398110f4db3e1e51vboxsync; Returns on top of stack
040b4a09341f574825386333398110f4db3e1e51vboxsync; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003, Vista)
040b4a09341f574825386333398110f4db3e1e51vboxsync; '' (Unknown Windows Version)
040b4a09341f574825386333398110f4db3e1e51vboxsync; Call GetWindowsVersion
040b4a09341f574825386333398110f4db3e1e51vboxsync; ; at this point $R0 is "NT 4.0" or whatnot
040b4a09341f574825386333398110f4db3e1e51vboxsync!macro GetWindowsVersion un
040b4a09341f574825386333398110f4db3e1e51vboxsyncFunction ${un}GetWindowsVersion
040b4a09341f574825386333398110f4db3e1e51vboxsync ClearErrors
040b4a09341f574825386333398110f4db3e1e51vboxsync ReadRegStr $R0 HKLM \
040b4a09341f574825386333398110f4db3e1e51vboxsync "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
040b4a09341f574825386333398110f4db3e1e51vboxsync IfErrors 0 lbl_winnt
040b4a09341f574825386333398110f4db3e1e51vboxsync ; we are not NT
040b4a09341f574825386333398110f4db3e1e51vboxsync ReadRegStr $R0 HKLM \
040b4a09341f574825386333398110f4db3e1e51vboxsync "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
040b4a09341f574825386333398110f4db3e1e51vboxsync StrCpy $R1 $R0 1
040b4a09341f574825386333398110f4db3e1e51vboxsync StrCmp $R1 '4' 0 lbl_error
040b4a09341f574825386333398110f4db3e1e51vboxsync StrCpy $R1 $R0 3
040b4a09341f574825386333398110f4db3e1e51vboxsync StrCmp $R1 '4.0' lbl_win32_95
040b4a09341f574825386333398110f4db3e1e51vboxsync StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
040b4a09341f574825386333398110f4db3e1e51vboxsync lbl_win32_95:
040b4a09341f574825386333398110f4db3e1e51vboxsync StrCpy $R0 '95'
040b4a09341f574825386333398110f4db3e1e51vboxsync Goto lbl_done