要以:“Windows 7 简体中文 32位” 要是XP加上SP3或SP2
以下是我自己的函数,如有更好的函数,麻烦多谢共享一下;获取操作系统信息
Func _SYSTEM()
;++++++++++++++++++++++++++++++++
;本函数返回操作系统类型的详细信息
;++++++++++++++++++++++++++++++++
Local $SysTem = "" ;操作系统的全部名称
Local $SysTemVersion = "" ;操作系统的版本
Local $SysTemLanguage = "" ;操作系统的语言
Local $SysTemArch = "" ;操作系统的位宽
If @OSType = "WIN32_NT" Then ;判断是否为winNT系统,不是则退出
$SysTemVersion = StringSplit(@OSVersion, "_") ;取操作系统的版本
If @error Then Exit ;如果取不到操作系统的版本则退出
$SysTem = "Windows " & $SysTemVersion[2] & " " & @OSServicePack & " "
Select ;选取操作系统语言
Case StringInStr("0404", @OSLang)
$SysTemLanguage = "中国(台湾)"
Case StringInStr("0804", @OSLang)
$SysTemLanguage = "简体中文"
Case StringInStr("0c04", @OSLang)
$SysTemLanguage = "繁体中文"
Case StringInStr("1004", @OSLang)
$SysTemLanguage = "中国(新加坡)"
Case StringInStr("1404", @OSLang)
$SysTemLanguage = "中国(澳门)"
Case StringInStr("0413 0813", @OSLang)
$SysTemLanguage = "Holland"
Case StringInStr("0409 0809 0c09 1009 1409 1809 1c09 2009 2409 2809 2c09 3009 3409", @OSLang)
$SysTemLanguage = "English"
Case StringInStr("040c 080c 0c0c 100c 140c 180c", @OSLang)
$SysTemLanguage = "French"
Case StringInStr("0407 0807 0c07 1007 1407", @OSLang)
$SysTemLanguage = "Germany"
Case StringInStr("0410 0810", @OSLang)
$SysTemLanguage = "Italy"
Case StringInStr("0414 0814", @OSLang)
$SysTemLanguage = "Norway"
Case StringInStr("0415", @OSLang)
$SysTemLanguage = "Poland"
Case StringInStr("0416 0816", @OSLang)
$SysTemLanguage = "Portugal"
Case StringInStr("040a 080a 0c0a 100a 140a 180a 1c0a 200a 240a 280a 2c0a 300a 340a 380a 3c0a 400a 440a 480a 4c0a 500a", @OSLang)
$SysTemLanguage = "Spain"
Case StringInStr("041d 081d", @OSLang)
$SysTemLanguage = "Sweden"
Case Else
$SysTemLanguage = "其他语言"
EndSelect
Select ;选取操作系统位宽
Case StringInStr("X86", @OSArch)
$SysTemArch = "32位"
Case StringInStr("IA64 X64", @OSArch)
$SysTemArch = "64位"
EndSelect
$SysTem = $SysTem & $SysTemLanguage & " " & $SysTemArch
Else
$SysTem = "获取操作系统出错,原因不是winNT系统!"
EndIf
Return $SysTem
EndFunc ;==>_SYSTEM
|