VB 5/6-Tipp 0725: Laufendes Betriebssystem ermitteln II
von KillSwitch
Beschreibung
Dieser Tipp ermittelt die Bezeichnung des laufenden Betriebssystems. Es werden Windows Version erkannt von Windows 3.1 bis Vista. Zusätzlich werden noch weitere Informationen wie Produkttyp, Architektur (32/64 bit) und ServicePack-Level ausgegeben.
Dieses Beispiel basiert auf diesem MSDN Artikel Getting the System Version (von C übersetzt und erweitert).
Schwierigkeitsgrad: | Verwendete API-Aufrufe: GetCurrentProcess, GetNativeSystemInfo, GetProductInfo, GetSystemInfo, GetSystemMetrics, GetVersionExA (GetVersionEx1), GetVersionExA (GetVersionEx2), IsWow64Process | Download: |
' Dieser Quellcode stammt von http://www.activevb.de ' und kann frei verwendet werden. Für eventuelle Schäden ' wird nicht gehaftet. ' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. ' Ansonsten viel Spaß und Erfolg mit diesem Source! ' ------------- Anfang Projektdatei Project1.vbp ------------- ' --------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Textfeld "Text1" ' Steuerelement: Schaltfläche "Command1" Option Explicit Private Sub Command1_Click() Unload Me End Sub Private Sub Form_Load() On Error Goto Catch Me.Text1.Text = GetOSVersion() Exit Sub Catch: Me.Text1.Text = "ERROR!" End Sub ' ---------- Ende Formular "Form1" alias Form1.frm ---------- ' --------- Anfang Modul "Module1" alias Module1.bas --------- Option Explicit Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 ' // Service Pack End Type Private Type OSVERSIONINFOEX dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 ' // Service Pack wServicePackMajor As Integer wServicePackMinor As Integer wSuiteMask As Integer wProductType As Byte wReserved As Byte End Type Private Type SYSTEM_INFO ' //dwOemID As Long wProcessorArchitecture As Integer wReserved As Integer dwPageSize As Long lpMinimumApplicationAddress As Long lpMaximumApplicationAddress As Long dwActiveProcessorMask As Long dwNumberOfProcessors As Long dwProcessorType As Long dwAllocationGranularity As Long wProcessorLevel As Integer wProcessorRevision As Integer End Type ' // API: min. Windows 95 Private Declare Function GetVersionEx1 Lib "kernel32.dll" _ Alias "GetVersionExA" ( _ ByRef lpVersionInformation As OSVERSIONINFO ) As Long ' // API: min. Windows 2000 Private Declare Function GetVersionEx2 Lib "kernel32.dll" _ Alias "GetVersionExA" ( _ ByRef lpVersionInformation As OSVERSIONINFOEX ) As Long ' // API: min. Windows XP Private Declare Function IsWow64Process Lib "kernel32" ( _ ByVal hProcess As Long, _ ByRef Wow64Process As Long ) As Long ' // API: min Windows 95 Private Declare Function GetCurrentProcess Lib "kernel32" () As Long ' // API: min. Windows 2000 Private Declare Sub GetSystemInfo Lib "kernel32.dll" ( _ ByRef lpSystemInfo As SYSTEM_INFO ) ' // API: min. Windows 2003 (WOW64) Private Declare Sub GetNativeSystemInfo Lib "kernel32.dll" ( _ ByRef lpSystemInfo As SYSTEM_INFO ) ' // API: min. Windows 2000 Private Declare Function GetSystemMetrics Lib "user32.dll" ( _ ByVal nIndex As Long ) As Long ' // API: only Windows Vista or Windows Server 2008 Private Declare Function GetProductInfo Lib "kernel32.dll" ( _ ByVal dwOSMajorVersion As Long, _ ByVal dwOSMinorVersion As Long, _ ByVal dwSpMajorVersion As Long, _ ByVal dwSpMinorVersion As Long, _ ByRef pdwReturnedProductType As Long ) As Boolean ' // Const: GetSystemMetrics ' // Windows Server 2003 R2 Private Const SM_SERVERR2 As Long = 89& ' // Windows XP Media Center Edition Private Const SM_MEDIACENTER As Long = 87& ' // Windows XP Starter Edition Private Const SM_STARTER As Long = 88& ' // Windows XP Tablet PC Edition Private Const SM_TABLETPC As Long = 86& ' // Const: GetVersionEx.wProcessorArchitecture ' // x64 (AMD Or Intel) Private Const PROCESSOR_ARCHITECTURE_AMD64 As Long = &H9& ' // Intel Itanium Processor Family (IPF) Private Const PROCESSOR_ARCHITECTURE_IA64 As Long = &H6& ' // x86 Private Const PROCESSOR_ARCHITECTURE_INTEL As Long = &H0& ' // Unknown architecture. Private Const PROCESSOR_ARCHITECTURE_UNKNOWN As Long = &HFFFF& ' // Const: GetVersionEx.wProductType ' // The system is a domain controller and the operating system is Windows ' Server 2008, Windows Server 2003, or Windows 2000 Server. Private Const VER_NT_DOMAIN_CONTROLLER As Long = &H2& ' // The operating system is Windows Server 2008, Windows Server 2003, or ' Windows 2000 Server. Note that a server that is also a domain controller ' is reported as VER_NT_DOMAIN_CONTROLLER, not VER_NT_SERVER. Private Const VER_NT_SERVER As Long = &H3& ' // The operating system is Windows Vista, Windows XP Professional, ' Windows XP Home Edition, or Windows 2000 Professional. Private Const VER_NT_WORKSTATION As Long = &H1& ' // Const: GetVersionEx.wSuiteMask ' // Microsoft BackOffice components are installed. Private Const VER_SUITE_BACKOFFICE As Long = &H4& ' // Windows Server 2003, Web Edition is installed. Private Const VER_SUITE_BLADE As Long = &H400& ' // Windows Server 2003, Compute Cluster Edition is installed. Private Const VER_SUITE_COMPUTE_SERVER As Long = &H4000& ' // Windows Server 2008 Datacenter, Windows Server 2003, Datacenter ' Edition, or Windows 2000 Datacenter Server is installed. Private Const VER_SUITE_DATACENTER As Long = &H80& ' // Windows Server 2008 Enterprise, Windows Server 2003, Enterprise ' Edition, or Windows 2000 Advanced Server is installed. Refer to the ' Remarks section for more information about this bit flag. Private Const VER_SUITE_ENTERPRISE As Long = &H2& ' // Windows XP Embedded is installed. Private Const VER_SUITE_EMBEDDEDNT As Long = &H40& ' // Windows Vista Home Premium, Windows Vista Home Basic, or Windows XP ' Home Edition is installed. Private Const VER_SUITE_PERSONAL As Long = &H200& ' // Remote Desktop is supported, but only one interactive session is ' supported. This value is set unless the system is running in application ' server mode. Private Const VER_SUITE_SINGLEUSERTS As Long = &H100& ' // Microsoft Small Business Server was once installed on the system, but ' may have been upgraded to another version of Windows. Refer to the ' Remarks section for more information about this bit flag. Private Const VER_SUITE_SMALLBUSINESS As Long = &H1& ' // Microsoft Small Business Server is installed with the restrictive ' client license in force. Refer to the Remarks section for more ' information about this bit flag. Private Const VER_SUITE_SMALLBUSINESS_RESTRICTED As Long = &H20& ' // Windows Storage Server 2003 R2 or Windows Storage Server 2003is ' installed. Private Const VER_SUITE_STORAGE_SERVER As Long = &H2000& ' // Terminal Services is installed. This value is always set. If ' VER_SUITE_TERMINAL is set but VER_SUITE_SINGLEUSERTS is not set, the ' system is running in application server mode. Private Const VER_SUITE_TERMINAL As Long = &H10& ' // Windows Home Server is installed. Private Const VER_SUITE_WH_SERVER As Long = &H8000& ' // Const: GetVersionEx.dwPlatformId ' // Specifies the Windows 3.1 OS. Private Const VER_PLATFORM_WIN32s As Long = &H0& ' // Specifies the Windows 95 or Windows 98 OS. Private Const VER_PLATFORM_WIN32_WINDOWS As Long = &H1& ' // Specifies the Windows NT OS. Private Const VER_PLATFORM_WIN32_NT As Long = &H2& ' // Specifies the Windows CE OS. Private Const VER_PLATFORM_WIN32_CE As Long = &H3& ' // Const: GetProductInfo(pdwReturnedProductType) ' // Business Edition Private Const PRODUCT_BUSINESS As Long = &H6& ' // Business Edition Private Const PRODUCT_BUSINESS_N As Long = &H10& ' // Cluster Server Edition Private Const PRODUCT_CLUSTER_SERVER As Long = &H12& ' // Server Datacenter Edition (full installation) Private Const PRODUCT_DATACENTER_SERVER As Long = &H8& ' // Server Datacenter Edition (core installation) Private Const PRODUCT_DATACENTER_SERVER_CORE As Long = &HC& ' // Server Datacenter Edition without Hyper-V (core installation) Private Const PRODUCT_DATACENTER_SERVER_CORE_V As Long = &H27& ' // Server Datacenter Edition without Hyper-V (full installation) Private Const PRODUCT_DATACENTER_SERVER_V As Long = &H25& ' // Enterprise Edition Private Const PRODUCT_ENTERPRISE As Long = &H4& ' // Enterprise Edition Private Const PRODUCT_ENTERPRISE_N As Long = &H1B& ' // Server Enterprise Edition (full installation) Private Const PRODUCT_ENTERPRISE_SERVER As Long = &HA& ' // Server Enterprise Edition (core installation) Private Const PRODUCT_ENTERPRISE_SERVER_CORE As Long = &HE& ' // Server Enterprise Edition without Hyper-V (core installation) Private Const PRODUCT_ENTERPRISE_SERVER_CORE_V As Long = &H29& ' // Server Enterprise Edition for Itanium-based Systems Private Const PRODUCT_ENTERPRISE_SERVER_IA64 As Long = &HF& ' // Server Enterprise Edition without Hyper-V (full installation) Private Const PRODUCT_ENTERPRISE_SERVER_V As Long = &H26& ' // Home Basic Edition Private Const PRODUCT_HOME_BASIC As Long = &H2& ' // Home Basic Edition Private Const PRODUCT_HOME_BASIC_N As Long = &H5& ' // Home Premium Edition Private Const PRODUCT_HOME_PREMIUM As Long = &H3& ' // Home Premium Edition Private Const PRODUCT_HOME_PREMIUM_N As Long = &H1A& ' // Home Server Edition Private Const PRODUCT_HOME_SERVER As Long = &H13& ' // Windows Essential Business Server Management Server Private Const PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT As Long = &H1E& ' // Windows Essential Business Server Messaging Server Private Const PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING As Long = &H20& ' // Windows Essential Business Server Security Server Private Const PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY As Long = &H1F& ' // Server for Small Business Edition Private Const PRODUCT_SERVER_FOR_SMALLBUSINESS As Long = &H18& ' // Small Business Server Private Const PRODUCT_SMALLBUSINESS_SERVER As Long = &H9& ' // Small Business Server Premium Edition Private Const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM As Long = &H19& ' // Server Standard Edition (full installation) Private Const PRODUCT_STANDARD_SERVER As Long = &H7& ' // Server Standard Edition (core installation) Private Const PRODUCT_STANDARD_SERVER_CORE As Long = &HD& ' // Server Standard Edition without Hyper-V (core installation) Private Const PRODUCT_STANDARD_SERVER_CORE_V As Long = &H28& ' // Server Standard Edition without Hyper-V (full installation) Private Const PRODUCT_STANDARD_SERVER_V As Long = &H24& ' // Starter Edition Private Const PRODUCT_STARTER As Long = &HB& ' // Storage Server Enterprise Edition Private Const PRODUCT_STORAGE_ENTERPRISE_SERVER As Long = &H17& ' // Storage Server Express Edition Private Const PRODUCT_STORAGE_EXPRESS_SERVER As Long = &H14& ' // Storage Server Standard Edition Private Const PRODUCT_STORAGE_STANDARD_SERVER As Long = &H15& ' // Storage Server Workgroup Edition Private Const PRODUCT_STORAGE_WORKGROUP_SERVER As Long = &H16& ' // An unknown product Private Const PRODUCT_UNDEFINED As Long = &H0& ' // Ultimate Edition Private Const PRODUCT_ULTIMATE As Long = &H1& ' // Ultimate Edition Private Const PRODUCT_ULTIMATE_N As Long = &H1C& ' // Web Server Edition (full installation) Private Const PRODUCT_WEB_SERVER As Long = &H11& ' // Web Server Edition (core installation) Private Const PRODUCT_WEB_SERVER_CORE As Long = &H1D& Public Function GetOSVersion() As String Dim OsVersInfoEx As OSVERSIONINFOEX Dim OsVersInfo As OSVERSIONINFO Dim OsSystemInfo As SYSTEM_INFO Dim OsVersion As String Dim Ret As Long OsVersInfo.dwOSVersionInfoSize = Len(OsVersInfo) If GetVersionEx1(OsVersInfo) = 0 Then Err.Raise -1 Select Case OsVersInfo.dwPlatformId Case VER_PLATFORM_WIN32s ' //Specifies the Windows 3.1 OS. OsVersion = "Windows 3.1" Case VER_PLATFORM_WIN32_WINDOWS ' // Specifies the Windows 95 or ' Windows 98 or Windows ME OS. Select Case OsVersInfo.dwMinorVersion Case 0 If OsVersInfo.dwBuildNumber = 950 Then OsVersion = "Windows 95" ElseIf (OsVersInfo.dwBuildNumber > 950) And ( _ OsVersInfo.dwBuildNumber <= 1080) Then OsVersion = "Windows 95 SP1" ElseIf OsVersInfo.dwBuildNumber > 1080 Then OsVersion = "Windows 95 OSR2" End If Case 10 If OsVersInfo.dwBuildNumber = 1998 Then OsVersion = "Windows 98" ElseIf (OsVersInfo.dwBuildNumber > 1998) And ( _ OsVersInfo.dwBuildNumber < 2183) Then OsVersion = "Windows 98 SP1" ElseIf OsVersInfo.dwBuildNumber >= 2183 Then OsVersion = "Windows 98 SE" End If Case 90 OsVersion = "Windows ME" End Select Case VER_PLATFORM_WIN32_NT ' // Specifies the Windows NT OS. Select Case OsVersInfo.dwMajorVersion Case 3 OsVersion = "Windows NT 3.x" Case 4 OsVersion = "Windows NT 4.x" Case 5 ' // The operating system is Windows ' Server 2003 R2, Windows Server 2003, ' Windows XP, or Windows 2000. OsVersInfoEx.dwOSVersionInfoSize = Len(OsVersInfoEx) If GetVersionEx2(OsVersInfoEx) = 0 Then Err.Raise -1 Select Case OsVersInfoEx.dwMinorVersion Case 0 ' // The operating system is Windows 2000 If OsVersInfoEx.wProductType = VER_NT_WORKSTATION Then OsVersion = "Windows 2000 Professional" Else If OsVersInfoEx.wSuiteMask And VER_SUITE_DATACENTER Then OsVersion = "Windows 2000 Datacenter Server" ElseIf OsVersInfoEx.wSuiteMask And VER_SUITE_ENTERPRISE _ Then OsVersion = "Windows 2000 Advanced Server" Else OsVersion = "Windows 2000 Server" End If End If Case 1 ' // The operating system is Windows XP. If GetSystemMetrics(SM_MEDIACENTER) Then OsVersion = "Windows XP Media Center Edition" ElseIf GetSystemMetrics(SM_STARTER) Then OsVersion = "Windows XP Starter Edition" ElseIf GetSystemMetrics(SM_TABLETPC) Then OsVersion = "Windows XP Tablet PC Edition" ElseIf OsVersInfoEx.wSuiteMask And VER_SUITE_PERSONAL Then OsVersion = "Windows XP Home Edition" Else OsVersion = "Windows XP Professional" End If Case 2 ' // The operating system is Windows ' Server 2003 R2, Windows Server 2003, ' or Windows XP Professional x64 ' Edition. If IsWow64Process(GetCurrentProcess(), Ret) = 0 Then _ Err.Raise -1 If Ret <> 0 Then Call GetNativeSystemInfo(OsSystemInfo) Else Call GetSystemInfo(OsSystemInfo) End If If GetSystemMetrics(SM_SERVERR2) Then OsVersion = "Windows Server 2003 R2, " ElseIf OsVersInfoEx.wSuiteMask = VER_SUITE_STORAGE_SERVER Then OsVersion = "Windows Storage Server 2003" ElseIf (OsVersInfoEx.wProductType = VER_NT_WORKSTATION) And _ OsSystemInfo.wProcessorArchitecture = _ PROCESSOR_ARCHITECTURE_AMD64) Then OsVersion = "Windows XP Professional x64 Edition" Else OsVersion = "Windows Server 2003, " End If ' // Test for the server type. If OsVersInfoEx.wProductType <> VER_NT_WORKSTATION Then If OsSystemInfo.wProcessorArchitecture = _ PROCESSOR_ARCHITECTURE_IA64 Then If OsVersInfoEx.wSuiteMask And VER_SUITE_DATACENTER _ Then OsVersion = OsVersion & "Datacenter Edition " & _ "for Itanium-based Systems" ElseIf OsVersInfoEx.wSuiteMask And _ VER_SUITE_ENTERPRISE Then OsVersion = OsVersion & "Enterprise Edition " & _ "for Itanium-based Systems" End If End If ElseIf OsSystemInfo.wProcessorArchitecture = _ PROCESSOR_ARCHITECTURE_AMD64 Then If OsVersInfoEx.wSuiteMask And VER_SUITE_DATACENTER Then OsVersion = OsVersion & "Datacenter x64 Edition" ElseIf OsVersInfoEx.wSuiteMask And VER_SUITE_ENTERPRISE _ Then OsVersion = OsVersion & "Enterprise x64 Edition" Else OsVersion = OsVersion & "Standard x64 Edition" End If Else If OsVersInfoEx.wSuiteMask And VER_SUITE_COMPUTE_SERVER _ Then OsVersion = OsVersion & "Compute Cluster Edition" ElseIf OsVersInfoEx.wSuiteMask And VER_SUITE_DATACENTER _ Then OsVersion = OsVersion & "Datacenter Edition" ElseIf OsVersInfoEx.wSuiteMask And VER_SUITE_ENTERPRISE _ Then OsVersion = OsVersion & "Enterprise Edition" ElseIf OsVersInfoEx.wSuiteMask And VER_SUITE_BLADE Then OsVersion = OsVersion & "Web Edition" Else OsVersion = OsVersion & "Standard Edition" End If End If End Select Case 6 ' // The operating system is Windows ' Vista or Windows Server 2008. OsVersInfoEx.dwOSVersionInfoSize = Len(OsVersInfoEx) If GetVersionEx2(OsVersInfoEx) = 0 Then Err.Raise -1 If OsVersInfoEx.wProductType = VER_NT_WORKSTATION Then OsVersion = "Windows Vista " Else OsVersion = "Windows Server 2008 " End If Dim dwType As Long Call GetProductInfo(6, 0, 0, 0, dwType) Select Case dwType Case PRODUCT_ULTIMATE OsVersion = OsVersion & "Ultimate Edition" Case PRODUCT_HOME_PREMIUM OsVersion = OsVersion & "Home Premium Edition" Case PRODUCT_HOME_BASIC OsVersion = OsVersion & "Home Basic Edition" Case PRODUCT_ENTERPRISE OsVersion = OsVersion & "Enterprise Edition" Case PRODUCT_BUSINESS OsVersion = OsVersion & "Business Edition" Case PRODUCT_STARTER OsVersion = OsVersion & "Starter Edition" Case PRODUCT_CLUSTER_SERVER OsVersion = OsVersion & "Cluster Server Edition" Case PRODUCT_DATACENTER_SERVER OsVersion = OsVersion & "Datacenter Edition" Case PRODUCT_DATACENTER_SERVER_CORE OsVersion = OsVersion & "Datacenter Edition (core " & _ "installation)" Case PRODUCT_ENTERPRISE_SERVER OsVersion = OsVersion & "Enterprise Edition" Case PRODUCT_ENTERPRISE_SERVER_CORE OsVersion = OsVersion & "Enterprise Edition (core " & _ "installation)" Case PRODUCT_ENTERPRISE_SERVER_IA64 OsVersion = OsVersion & "Enterprise Edition for " & _ "Itanium-based Systems" Case PRODUCT_SMALLBUSINESS_SERVER OsVersion = OsVersion & "Small Business Server" Case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM OsVersion = OsVersion & "Small Business Server Premium " & _ "Edition" Case PRODUCT_STANDARD_SERVER OsVersion = OsVersion & "Standard Edition" Case PRODUCT_STANDARD_SERVER_CORE OsVersion = OsVersion & "Standard Edition (core installation)" Case PRODUCT_WEB_SERVER OsVersion = OsVersion & "Web Server Edition" End Select If IsWow64Process(GetCurrentProcess(), Ret) = 0 Then Err.Raise -1 If Ret <> 0 Then Call GetNativeSystemInfo(OsSystemInfo) Else Call GetSystemInfo(OsSystemInfo) End If If OsSystemInfo.wProcessorArchitecture = _ PROCESSOR_ARCHITECTURE_AMD64 Then OsVersion = OsVersion & ", 64-bit" ElseIf OsSystemInfo.wProcessorArchitecture = _ PROCESSOR_ARCHITECTURE_INTEL Then OsVersion = OsVersion & ", 32-bit" End If End Select Case VER_PLATFORM_WIN32_CE ' // Specifies the Windows CE OS. OsVersion = "Windows CE" End Select ' // Include service pack. Dim strSp As String Dim lSp As Long strSp = OsVersInfo.szCSDVersion lSp = InStr(1, strSp, Chr$(0)) If lSp Then strSp = Mid$(strSp, 1, lSp - 1) If Len(strSp) Then OsVersion = OsVersion & " (" & strSp & ")" GetOSVersion = OsVersion End Function ' ---------- Ende Modul "Module1" alias Module1.bas ---------- ' -------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 3 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von N. Basic am 24.01.2011 um 12:16
Ergänzung für Window 7 und 2008 R2
Getestet in 32- und 64-Bit: WIN 7, 2008, Vista, XP, 2000
Case 6: '// The operating system is Windows Vista or _
Windows Server 2008 or Windows 7 or Windows _ Server 2008 R2
OsVersInfoEx.dwOSVersionInfoSize = Len(OsVersInfoEx)
If GetVersionEx2(OsVersInfoEx) = 0 Then Err.Raise -1
Select Case OsVersInfoEx.dwMinorVersion
Case 0
If OsVersInfoEx.wProductType = VER_NT_WORKSTATION Then
OsVersion = "Windows Vista "
Else
OsVersion = "Windows Server 2008 "
End If
Case 1
If OsVersInfoEx.wProductType = VER_NT_WORKSTATION Then
OsVersion = "Windows 7 "
Else
OsVersion = "Windows Server 2008 R2 "
End If
End Select
Kommentar von Frank am 13.02.2010 um 10:53
Super Artikel (VB 5/6-Tipp 0725: Laufendes Betriebssystem ermitteln II), aber wie geht es jetzt mit Win7 weiter. Hier gab es ja schon Vista aber noch kein Win7!?
Kommentar von hermann am 22.01.2009 um 17:13
In
ElseIf (OsVersInfoEx.wProductType = VER_NT_WORKSTATION) And _
OsSystemInfo.wProcessorArchitecture = _
PROCESSOR_ARCHITECTURE_AMD64) Then
ist die letze Klammer falsch.