Подскажите, как мне сделать так чтоб программа определяла какая система (хр, 7) сейчас работает.
Как узнать какая система запущена
Страница: 1
Сообщений 1 страница 2 из 2
Поделиться211.02.2011 10:19:35
Код:
Procedure.s PEBGetWinVersion()
Protected lPEB.i ;Pointer to PEB
Protected lOSMa.i ;OSMajorVersion [PEB+0xA4]
Protected lOSMi.i ;OSMinorVersion [PEB+0xA8]
Protected lOSPlat.i ;OSPlatformId [PEB+0xB0]
lPEB = PeekI(NtCurrentTeb_() + $30)
lOSMa = PeekI(lPEB + $A4)
lOSMi = PeekI(lPEB + $A8)
lOSPlat = PeekI(lPEB + $B0)
ProcedureReturn Str(lOSPlat) + "." + Str(lOSMa) + "." + Str(lOSMi)
EndProcedure
Procedure.s VersionToName(sVersion.s)
Select sVersion
Case "1.0.0": ProcedureReturn "Windows 95"
Case "1.1.0": ProcedureReturn "Windows 98"
Case "1.9.0": ProcedureReturn "Windows Millenium"
Case "2.3.0": ProcedureReturn "Windows NT 3.51"
Case "2.4.0": ProcedureReturn "Windows NT 4.0"
Case "2.5.0": ProcedureReturn "Windows 2000"
Case "2.5.1": ProcedureReturn "Windows XP"
Case "2.5.3": ProcedureReturn "Windows 2003 (SERVER)"
Case "2.6.0": ProcedureReturn "Windows Vista"
Case "2.6.1": ProcedureReturn "Windows 7"
Default: ProcedureReturn "Unknown"
EndSelect
EndProcedure
Debug PEBGetWinVersion()
Debug VersionToName(PEBGetWinVersion())Код:
Select OSVersion()
Case #PB_OS_Windows_98
MessageRequester("Info", "Windows 98")
Case #PB_OS_Windows_2000
MessageRequester("Info", "Windows 2000")
Case #PB_OS_Windows_XP
MessageRequester("Info", "Windows XP")
MessageRequester("WMI",WMI("Select * FROM Win32_OperatingSystem,Name"))
Case #PB_OS_Windows_Vista
MessageRequester("Info", "Windows Vista")
Default
MessageRequester("Info", "Unsupported Windows version")
EndSelectОтредактировано mirashic (11.02.2011 10:20:30)
Страница: 1