Ergebnis 1 bis 9 von 9
  1. #1
    NoClose Wurm
    Registriert seit
    11.07.2008
    Beiträge
    173

    Standard VB.NET - Hardware auslesen

    Guten Abend,

    ich habe vor einige meiner Hardwarekomponetnen über Visual Basic auszulesen.
    Mit My.Computer.Info.OsFullName zum Beispiel kann man das Betriebssystem auslesen.
    Genau sowas suche ich z.B nur für die Grafikkarte , den Prozessor, das Motherboard u.s.w

    Ich bin mir nicht sicher wie man das realisieren kann.

    Danke schonmal für eure Hilfe!

    MoLow

  2. #2
    Richard Stallman Avatar von Sawyer
    Registriert seit
    26.07.2008
    Beiträge
    2.037

    Standard

    mittels WMI lassen sich diverse verbaute Hardware Komponenten ermitteln.

    z.B:
    http://dotnet-snippets.de/dns/wmi-ha...er-SID312.aspx

    Diverse andere Beispiele zu diesem Thema findet man auf einschlägigen Seiten , einfach Google bemühen

    MfG

  3. #3
    NoClose Wurm
    Registriert seit
    11.07.2008
    Beiträge
    173

    Standard

    Vielen Dank für die schnelle Antwort.
    Diese seite habe ich auch schon gefunden... Aber irgendwie komm ich nicht ganz zurecht damit.



    Code:
    Imports System
    Imports System.Management
    
    Public Class Query_SelectQuery
    
        Public Overloads Shared Function _
            Main(ByVal args() As String) As Integer
    
            Dim selectQuery As SelectQuery
            selectQuery = New SelectQuery("Win32_LogicalDisk")
            Dim searcher As ManagementObjectSearcher
            searcher = New ManagementObjectSearcher(selectQuery)
    
            Dim disk As ManagementObject
            For Each disk In searcher.Get()
                Console.WriteLine(disk.ToString())
            Next
            Console.ReadLine()
            Return 0
    
        End Function
        Public Enum Win32 As Integer
                       _Keyboard
                _PointingDevice
    
        End Enum
    
    End Class

    Wenn ich das zum Beispiel jetzt angebe sollten die genannten Punkte ausgegeben werden... Wie kann ich das machen?
    Ich verstehe es leider nicht ganz


    Danke


    MoLow!

  4. #4
    Richard Stallman Avatar von Sawyer
    Registriert seit
    26.07.2008
    Beiträge
    2.037

    Standard

    Hier mal eine kürzere variante , hab dazu mal schnell eine funktion geschrieben

    Funktion:
    Private Function Hardware() As String
    Dim Devices As Object = GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_VideoController")
    Dim HardwareName As String

    For Each AdaptList In Devices
    HardwareName = AdaptList.Description
    Next

    Return HardwareName
    End Function
    Aufruf:
    Code:
    Sub Main()
         Console.WriteLine(Hardware())
      Console.Read()
    End Sub

  5. #5
    NoClose Wurm
    Registriert seit
    11.07.2008
    Beiträge
    173

    Standard

    Guteb Abend nochmal,

    also ich habs jetzt geschafft...

    Code:
    Public Class Form1
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
        End Sub
        Private Function Hardware() As String
    
            Dim Devices As Object = GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_VideoController")
    
            Dim HardwareName As String
    
            For Each AdaptList In Devices
                HardwareName = AdaptList.Description
            Next
    
            Return HardwareName
    
        End Function
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
            MsgBox(Hardware)
    
    
        End Sub

    Funktioniert einwandfrei...

    Jetzt nur meien Frage kann man das irgendwie so machen das ich mehrere Komponente da einbinden kann...

    Jetzt ist ja nur die Grafikkarte da... Wie kann ich zum Beispiel das Motherboard noch hinzufügen ohne den ganzenn sourcecode nochmal zu schreiben?

  6. #6
    Transpinguin Avatar von IRET
    Registriert seit
    02.09.2008
    Beiträge
    1.295

    Standard

    Den Win32_VideoController austauschen
    Bei
    Dim Devices As Object = GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_VideoController")

  7. #7
    NoClose Wurm
    Registriert seit
    11.07.2008
    Beiträge
    173

    Standard

    Okay, das wusste ich

    Und wenn ich jetzt zum Beispiel das Prozessor und den Vidoe COntroller haben will?

    Also zwei (oder mehrere ausgaben)

    Nicht nur Grafikkarte sondern Grafikkart und Prozessor (win32_prozessor)

    Das weiß ich nicht genau

  8. #8
    Richard Stallman Avatar von Sawyer
    Registriert seit
    26.07.2008
    Beiträge
    2.037

    Standard

    Einfach die Funktion anpassen , und die gewünschte Hardware Info als Parameter übergeben und sich den wert zurück liefern lassen.

    Funktion:
    Code:
        Private Function Hardware(ByVal Hardw As String) As String
    
            Dim Devices As Object = GetObject("winmgmts:").ExecQuery(Hardw)
    
            Dim HardwareName As String
    
            For Each AdaptList In Devices
                HardwareName = AdaptList.Description
            Next
    
            Return HardwareName
    
        End Function

    Aufruf:

    Code:
    MsgBox(Hardware("SELECT * FROM Win32_VideoController"))
    MsgBox(Hardware("SELECT * FROM Win32_Processor"))
    MfG
    Geändert von Sawyer (29.08.2009 um 22:31 Uhr)

  9. #9
    NoClose Wurm
    Registriert seit
    11.07.2008
    Beiträge
    173

    Standard

    Oh Perfekt Jetzt klappt alles einwandfrei


    Vielen Dank für deine Hilfe!

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •