OptionExplicitPublicOSNameAsString'操作系统名称(简称),方便程序控制时根据操作系统取值PublicType OSVERSIONINFO
dwOSVersionInfoSizeAsLongdwMajorVersionAsLongdwMinorVersionAsLongdwBuildNumberAsLongdwPlatformIdAsLongszCSDVersionAsString*128wServicePackMajorAsIntegerwServicePackMinorAsIntegerwSuiteMaskAsIntegerwProductTypeAsBytewReservedAsByteEndTypePublic DeclareFunctionGetVersionExLib"kernel32"Alias"GetVersionExA"(lpVersionInformationAsOSVERSIONINFO)AsLong'获得 Windows 操作系统的名称,returnType决定返回的方式,值为0时,返回简称,否则返回全称Public FunctionGetWindowsVersion(ByValreturnTypeAsInteger)AsStringDimver AsOSVERSIONINFO,retLngAsLong,osAsStringver.dwOSVersionInfoSize=Len(ver)
GetVersionEx ver'retLng = GetVersionEx(ver)'If retLng = 0 Then'os = "Unknown System Version!"'Exit Function'End IfWithverSelectCase.dwPlatformIdCase1SelectCase.dwMinorVersionCase0IfreturnType=0Thenos="Windows 95"ElseSelectCase.szCSDVersionCase"C"os="Windows 95 OSR2"Case"B"os="Windows 95 OSR2"CaseElseos="Windows 95"EndSelectEndIfCase10IfreturnType=0Thenos="Windows 98"ElseSelectCase.szCSDVersionCase"A"os="Windows 98 SE"CaseElseos="Windows 98"EndSelectEndIfCase90IfreturnType=0Thenos="Windows Me"Elseos="Windows Millennium Edition"EndIfEndSelectCase2SelectCase.dwMajorVersionCase3os="Windows NT 3.51"Case4os="Windows NT 4.0"Case5SelectCase.dwMinorVersionCase0IfreturnType=0Thenos="Windows 2000"ElseSelectCase.wSuiteMaskCase&H80
os="Windows 2000 Data center"Case&H2
os="Windows 2000 Advanced"CaseElseos="Windows 2000"EndSelectEndIfCase1IfreturnType=0Thenos="Windows XP"ElseSelectCase.wSuiteMaskCase&H0
os="Windows XP Professional"Case&H200
os="Windows XP Home"CaseElseos="Windows XP"EndSelectEndIfCase2IfreturnType=0Thenos="Windows Server 2003"ElseSelectCase.wSuiteMaskCase&H2
os="Windows Server 2003 Enterprise"Case&H80
os="Windows Server 2003 Data center"Case&H400
os="Windows Server 2003 Web Edition"Case&H0
os="Windows Server 2003 Standard"'Case &H112'os = "Windows Server 2003 R2 Enterprise" CaseElseos="Windows Server 2003"EndSelectEndIfEndSelectIfreturnType<>0And.wServicePackMajor>0Thenos=os&"Service Pack"&.wServicePackMajor&IIf(.wServicePackMinor>0,"."&.wServicePackMinor,vbNullString)EndIfCase6IfreturnType<>0ThenSelectCase.wProductTypeCase&H6
os="Business Edition"Case&H10
os="Business Edition (N)"Case&H12
os="Cluster Server Edition"Case&H8
os="Server Datacenter Edition (full installation)"Case&HC
os="Server Datacenter Edition (core installation)"Case&H4
os="Enterprise Edition"Case&H1B
os="Enterprise Edition (N)"Case&HA
os="Server Enterprise Edition (full installation)"Case&HE
os="Server Enterprise Edition (core installation)"Case&HF
os="Server Enterprise Edition for Itanium-based Systems"Case&H2
os="Home Basic Edition"Case&H5
os="Home Basic Edition (N)"Case&H3
os="Home Premium Edition"Case&H1A
os="Home Premium Edition (N)"Case&H13
os="Home Server Edition"Case&H18
os="Server for Small Business Edition"Case&H9
os="Small Business Server"Case&H19
os="Small Business Server Premium Edition"Case&H7
os="Server Standard Edition (full installation)"Case&HD
os="Server Standard Edition (core installation)"Case&H8
os="Starter Edition"Case&H17
os="Storage Server Enterprise Edition"Case&H14
os="Storage Server Express Edition"Case&H15
os="Storage Server Standard Edition"Case&H16
os="Storage Server Workgroup Edition"Case&H1
os="Ultimate Edition"Case&H1C
os="Ultimate Edition (N)"Case&H0
os="An unknown product"Case&HABCDABCD
os="Not activated product"Case&H11
os="Web Server Edition"EndSelectEndIfSelectCase.dwMinorVersionCase0SelectCase.wProductTypeCase3IfreturnType=0Thenos="Windows Server 2008"Elseos="Windows Server 2008"&osEndIfCaseElseIfreturnType=0Thenos="Windows Vista"Elseos="Windows Vista"&osEndIfEndSelectCase1SelectCase.wProductTypeCase3IfreturnType=0Thenos="Windows Server 2008 R2"Elseos="Windows Server 2008 R2"&osEndIfCaseElseIfreturnType=0Thenos="Windows 7"Elseos="Windows 7"&osEndIfEndSelectEndSelectIfreturnType<>0And.wServicePackMajor>0Thenos=os&"Service Pack"&.wServicePackMajor&IIf(.wServicePackMinor>0,vbNullString)EndIfEndSelectCaseElseos="Unknown System Version!"End SelectIfreturnType<>0Thenos=os &"[Version:"&.dwMajorVersion&"."&.dwMinorVersion&"."&.dwBuildNumber&"]"End WithGetWindowsVersion=osEnd Function'返回获取本地连接属性的方式'Vista及Win7下 GetDetailsOf(FolderItem,2) 获取的值类似于:“Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller”,对应XP、2000及2003下的GetDetailsOf(FolderItem,3)'Vista及Win7下 GetDetailsOf(FolderItem,1) 获取的值为本地连接状态,为“网络”时说明正常,对应XP、2000及2003下的GetDetailsOf(FolderItem,2)Public FunctiongetAdapterStatusType()AsIntegerSelect CaseOSNameCase "Windows Vista","Windows Server 2008","Windows 7","Windows Server 2008 R2"getAdapterStatusType=2Case ElsegetAdapterStatusType=3End SelectEnd Function