butschi1988 10 Geschrieben 27. Oktober 2010 Melden Geschrieben 27. Oktober 2010 'VB2008-code, getestet unter XP/ win7 Imports System.Management 'Verweis auf System.Management einrichten Module Module1 Sub Main() Dim objQuery As New ObjectQuery("SELECT * FROM Win32_operatingsystem") Dim searcher As New ManagementObjectSearcher(objQuery) Dim caption As String = "" Dim osa As String = "" Dim spmv As String = "" Try For Each mem As ManagementObject In searcher.Get caption = mem("Caption").ToString() spmv = mem("ServicePackMajorVersion").ToString() osa = mem("OSArchitecture").ToString() 'erst ab vista Next Catch End Try Console.WriteLine(caption & " " & osa + " SP" & spmv) End Sub End Module Gibt sonst Compilerfehler. ;)
butschi1988 10 Geschrieben 27. Oktober 2010 Melden Geschrieben 27. Oktober 2010 Dim objQuery As New ObjectQuery("SELECT * FROM Win32_operatingsystem") Dim searcher As New ManagementObjectSearcher(objQuery) Dim caption As String = "" Dim osa As String = "" Dim spmv As String = "" Try For Each mem As ManagementObject In searcher.Get caption = mem("Caption").ToString() spmv = mem("ServicePackMajorVersion").ToString() [b]osa = Runtime.InteropServices.Marshal.SizeOf(GetType(IntPtr)) * 8 & "-Bit"[/b] Next Catch End Try 'Console.WriteLine("Caption: " + My.Computer.Info.OSFullName) 'Console.WriteLine("ServicePackMajorVersion: " + spmv) 'Console.WriteLine("OSArchitecture: " + osa) 'Console.WriteLine() Console.WriteLine(caption + " " + osa + " SP" + spmv) Console.Read() 'Console.WriteLine(caption & " " & osa + " SP" & spmv) Das funktioniert besser! :)
blub 115 Geschrieben 27. Oktober 2010 Melden Geschrieben 27. Oktober 2010 [b]osa = Runtime.InteropServices.Marshal.SizeOf(GetType(IntPtr)) *[/b] Das funktioniert besser! :) Hallo butschi, auf jeden Fall! Hast du eine nähere Erklärung für die osa-Codezeile? cu blub
butschi1988 10 Geschrieben 28. Oktober 2010 Melden Geschrieben 28. Oktober 2010 Der IntPtr-Typ ist als ganzzahliger Typ mit plattformabhängiger Größe konzipiert. Das heißt, dass es sich bei 32-Bit-Hardware und 32-Bit-Betriebssystemen i. d. R. um eine 32-Bit-Instanz dieses Typ handelt und bei 64-Bit-Hardware und 64-Bit-Betriebssystemen um eine 64-Bit-Instanz des Typs. Ich hohle mir halt damit die Größe des Datentyps IntPtr ( Byte ) und renche sie in Bit um.. somit habe ich die Architektur vom OS.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden