vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Activex für Hardwareinformationen 
Autor: RalfH
Datum: 07.10.03 08:13

Servus,

wenn ich diese Informationen benötige, nutze ich immer WMI.

Erstelle ein neues Projekt und füge 3 Commandbutton (Comand1, Comand2, Comand3), 1 Checkbox (Check1) und 1 Listbox (List1) ein.
Dann nur noch den folgenden Code komplett ins Form-Modul kopieren und starten.

Option Explicit
 
Private Sub Check1_Click()
  ReadSystemData
End Sub
 
Private Sub Command1_Click()
  Command1.Tag = "Win32_BIOS"
  ReadSystemData
End Sub
 
Private Sub Command2_Click()
  Command1.Tag = "Win32_Processor"
  ReadSystemData
End Sub
 
Private Sub Command3_Click()
  Command1.Tag = "Win32_DiskDrive"
  ReadSystemData
End Sub
 
 
Private Sub ReadSystemData()
 
  Dim objWMI As Object, objQuery As Object, objItem As Object, objProp As Object
  Dim sValue As String, lCnt As Long
  Dim I As Long
 
  List1.Clear
 
  If Command1.Tag = "" Then Exit Sub
  lCnt = 0
 
  Set objWMI = GetObject("winmgmts:\\.\root\cimv2")
 
  Set objQuery = objWMI.ExecQuery("Select * from " & Command1.Tag)
 
  If Not objQuery Is Nothing Then
 
    For Each objItem In objQuery
 
      If Not objItem Is Nothing Then
 
        lCnt = lCnt + 1
        If lCnt > 1 Then List1.AddItem ""
        List1.AddItem CStr(lCnt) & ". Gerät/Komponente"
        List1.AddItem "-------------------------------------"
 
        For Each objProp In objItem.Properties_
 
          If Not objProp Is Nothing Then
 
            If IsNull(objProp.Value) Then
              sValue = "<No Informations>"
            ElseIf objProp.IsArray Then
              sValue = ""
              For I = LBound(objProp.Value) To UBound(objProp.Value)
                If sValue <> "" Then sValue = sValue & ", "
                sValue = sValue & objProp.Value(I)
              Next I
            Else
              sValue = objProp.Value
            End If
 
            If (Check1.Value = 1) Or (IsNull(objProp.Value) = False) Then _
              List1.AddItem objProp.Name & ":  " & sValue
 
          End If
 
        Next objProp
 
      End If
 
    Next objItem
 
  End If
 
  Set objProp = Nothing
  Set objItem = Nothing
  Set objQuery = Nothing
  Set objWMI = Nothing
End Sub
 
Private Sub Form_Load()
  List1.Clear
 
  With Command1
    .Caption = "BIOS"
    .Top = 60
    .Left = 60
    .Width = 1500
    .Height = 300
    .Tag = ""
  End With
 
  With Command2
    .Caption = "Prozessor"
    .Top = Command1.Top
    .Left = Command1.Left + Command1.Width + Command1.Left
    .Width = Command1.Width
    .Height = Command1.Height
  End With
 
  With Command3
    .Caption = "Festplatten"
    .Top = Command1.Top
    .Left = Command2.Left + Command2.Width + Command1.Left
    .Width = Command1.Width
    .Height = Command1.Height
  End With
 
  With Check1
    .Caption = "Alles zeigen"
    .Top = Command1.Top
    .Left = Command3.Left + Command3.Width + Command1.Left
    .Width = Command1.Width
    .Height = Command1.Height
    .Value = 1
  End With
 
  With List1
    .Top = (2 * Command1.Top) + Command1.Height
    .Left = Command1.Left
  End With
End Sub
 
Private Sub Form_Resize()
  Dim H As Long
 
  With List1
 
    H = Me.ScaleHeight - Command1.Top - .Top
    If H < 0 Then H = 0
 
    .Height = H
    .Width = Me.ScaleWidth - (2 * Command1.Left)
  End With
 
End Sub

Viel Spass,
R@lf

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Activex für Hardwareinformationen686Uwe197706.10.03 11:21
Re: Activex für Hardwareinformationen403RalfH07.10.03 08:13

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel