butschi1988 10 Geschrieben 27. Oktober 2010 Melden Teilen 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. ;) Zitieren Link zu diesem Kommentar
butschi1988 10 Geschrieben 27. Oktober 2010 Melden Teilen 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! :) Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 27. Oktober 2010 Melden Teilen 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 Zitieren Link zu diesem Kommentar
butschi1988 10 Geschrieben 28. Oktober 2010 Melden Teilen 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. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.