Hallo zusammen !
In diesem Beitrag möchte ich paar Links und Beispiel Code veröffentlichen wie man in VB NET WMI (WINDOWS MANAGAMENT INTEFACE) ausliest. Zum Beispiel Ihr könnt auslesen:
(LINKS ZU CODE SIEHE IM NÄCHSTEN BEITRAG)
System Information auslesen:
System Eintellungen auslesen:
Betriebssystem ermitteln:
Druckerwarteschlange auslesen:
FORTSETZUNG NÄCHSTE BEITRAG....
In diesem Beitrag möchte ich paar Links und Beispiel Code veröffentlichen wie man in VB NET WMI (WINDOWS MANAGAMENT INTEFACE) ausliest. Zum Beispiel Ihr könnt auslesen:
(LINKS ZU CODE SIEHE IM NÄCHSTEN BEITRAG)
- System Informationen
- Netzwerk- Konfiguration
- Seriennummer eines Lauwerkes
- Prozessorauslastung
- Druckerwarteschlange
- Installiertes Service-Pack
System Information auslesen:
VB.NET-Quellcode
- Class Class1
- Public mos As Management.ManagementObjectSearcher
- Shared Sub Main()
- Dim mos As Management.ManagementObjectSearcher
- Dim moc As Management.ManagementObjectCollection
- Dim mo As Management.ManagementObject
- Dim pd As Management.PropertyData
- Console.WriteLine("Weiter mit ENTER!")
- Console.ReadLine()
- Console.WriteLine( _
- "Die Eigenschaften aller Laufwerke auslesen:")
- mos = New Management.ManagementObjectSearcher( _
- "select * from win32_logicaldisk")
- moc = mos.Get()
- For Each mo In moc
- Console.WriteLine("------------")
- For Each pd In mo.Properties
- Try
- Console.WriteLine(pd.Name + " = " + pd.Value.ToString)
- Catch
- End Try
- Next
- Console.ReadLine()
- Next
- moc.Dispose()
- mos.Dispose()
- Class1.computer()
- Console.ReadLine()
- Class1.domain()
- Console.ReadLine()
- Class1.os()
- Console.ReadLine()
- Class1.shutdown()
- Console.ReadLine()
- Class1.systemdir()
- Console.ReadLine()
- Class1.user1()
- Console.ReadLine()
- Console.WriteLine(user)
- Console.ReadLine()
- Console.WriteLine(Environment.CommandLine)
- Console.ReadLine()
- Console.WriteLine("Ende.")
- Console.ReadLine()
- Class1.enter()
- Console.ReadLine()
- End Sub
- Shared Sub enter()
- Console.WriteLine("Beenden mit ENTER.")
- End Sub
- Shared Sub computer()
- Console.WriteLine("Computername: " & Environment.MachineName)
- End Sub
- Shared Sub shutdown()
- Console.WriteLine("Shutdown: " &
- Environment.HasShutdownStarted)
- End Sub
- Shared Sub systemdir()
- Console.WriteLine("System-Ordner: " & _
- Environment.SystemDirectory)
- End Sub
- Shared Sub domain()
- Console.WriteLine("Aktive Domain: " & _
- Environment.UserDomainName)
- End Sub
- Shared Sub os()
- Console.WriteLine(Environment.OSVersion)
- End Sub
- Shared Sub user1()
- Console.WriteLine("Aktiver User: " & Environment.UserName)
- End Sub
- Private _lastacces As Date
- Private _lastwrite As Date
- Public Sub New(ByVal s As String)
- MyBase.new()
- _lastwrite = Now
- End Sub
- Public Function getlastacces() As Date
- Return _lastacces
- End Function
- Public Function getlastwrite() As Date
- Return _lastacces
- End Function
- Public Shared Property user()
- Get
- Return user
- End Get
- Set(ByVal s)
- user = s
- End Set
- End Property
- End Class
- CODE
System Eintellungen auslesen:
VB.NET-Quellcode
- Public Class Form1
- Inherits System.Windows.Forms.Form
- Vom Windows Form Designer generierter Code
- Dim oEnv As System.Environment
- Dim oItem As ListViewItem
- Private Sub Form1_Load(ByVal sender As System.Object, _
- ByVal e As System.EventArgs) Handles MyBase.Load
- lvwSystem.View = View.Details
- lvwSystem.Columns.Add("Eigenschaft", 140, _
- HorizontalAlignment.Left)
- lvwSystem.Columns.Add("Werte", 700, HorizontalAlignment.Left)
- FillSystemEinstellungen()
- End Sub
- Private Sub AddItems(ByVal lvw As ListView, ByVal sProperty _
- As String, ByVal sValue As String)
- oItem = New ListViewItem(sProperty)
- oItem.SubItems.Add(sValue)
- lvw.Items.Add(oItem)
- End Sub
- Private Sub FillSystemEinstellungen()
- AddItems(lvwSystem, "OS Version", _
- oEnv.OSVersion.Version.ToString)
- AddItems(lvwSystem, "CLR Version.Major", _
- oEnv.Version.Major.ToString)
- AddItems(lvwSystem, "CLR Version.Minor", _
- oEnv.Version.Minor.ToString)
- AddItems(lvwSystem, "CLR Version.Revision", _
- oEnv.Version.Revision.ToString)
- AddItems(lvwSystem, "CLR Version.Build", _
- oEnv.Version.Build.ToString)
- AddItems(lvwSystem, "OS Plattform", _
- oEnv.OSVersion.Platform.ToString)
- AddItems(lvwSystem, "MachineName", oEnv.MachineName.ToString)
- AddItems(lvwSystem, "SystemDirectory", _
- oEnv.SystemDirectory.ToString)
- AddItems(lvwSystem, "UserDomainName", _
- oEnv.UserDomainName.ToString)
- AddItems(lvwSystem, "UserInteractive", _
- oEnv.UserInteractive.ToString)
- AddItems(lvwSystem, "UserName", oEnv.UserName.ToString)
- AddItems(lvwSystem, "CurrentDirectory", _
- oEnv.CurrentDirectory.ToString)
- AddItems(lvwSystem, "WorkingSet", oEnv.WorkingSet.ToString)
- AddItems(lvwSystem, "CommandLine", oEnv.CommandLine.ToString)
- AddItems(lvwSystem, "TickCount", oEnv.TickCount.ToString)
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, _
- ByVal e As System.EventArgs) Handles Button1.Click
- Me.Close()
- End Sub
- End Class
- CODE
Betriebssystem ermitteln:
VB.NET-Quellcode
- Public Function GetVersion() As String
- Dim osInfo As OperatingSystem
- osInfo = OSVersion
- With osInfo
- Select Case .Platform
- Case .Platform.Win32Windows
- Select Case (.Version.Minor)
- Case 0
- Return "Windows 95"
- Case 10
- If .Version.Revision.ToString() = "2222A" Then
- Return "Windows 98 Second Edition"
- Else
- Return "Windows 98"
- End If
- Case 90
- Return "Windows Me"
- End Select
- Case .Platform.Win32NT
- Select Case (.Version.Major)
- Case 3
- Return "Windows NT 3.51"
- Case 4
- Return "Windows NT 4.0"
- Case 5
- Select Case (.Version.Minor)
- Case 0
- Return "Windows 2000"
- Case 1
- Return "Windows XP"
- Case 2
- Return "Windows Server 2003"
- End Select
- Case Else
- Return "Failed"
- End Select
- End Select
- End With
- End Function
- CODE
Druckerwarteschlange auslesen:
VB.NET-Quellcode
- Imports System.Management
- Public Class Form1
- Private Sub Form1_Load(ByVal sender As System.Object, _
- ByVal e As System.EventArgs) Handles MyBase.Load
- ' ListView vorbereiten
- With ListView1
- With .Columns
- .Add("Dokument", 200)
- .Add("Drucker", 100)
- .Add("Status", 70)
- .Add("Seiten", 50, HorizontalAlignment.Center)
- .Add("Größe", 60, HorizontalAlignment.Right)
- .Add("Besitzer", 150)
- End With
- .View = View.Details
- .FullRowSelect = True
- End With
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, _
- ByVal e As System.EventArgs) Handles Button1.Click
- ' Druckerwarteschlange auslesen und in ListView eintragen
- Me.Cursor = Cursors.WaitCursor
- With ListView1
- .Items.Clear()
- .BeginUpdate()
- ' WMI-Abfrage erstellen und ausführen
- Dim sQuery As String = "SELECT * FROM Win32_PrintJob"
- Dim Jobs As New ManagementObjectSearcher(sQuery)
- ' Schleife durchlaufen und Infos zu den Druckaufträgen ermitteln
- For Each Job As ManagementObject In Jobs.Get()
- Dim Document As String = WMIGetInfo(Job, "Document")
- Dim Printer As String = WMIGetInfo(Job, "DriverName")
- Dim Status As String = WMIGetInfo(Job, "JobStatus")
- Dim Pages As String = WMIGetInfo(Job, "PagesPrinted") & " von " & _
- WMIGetInfo(Job, "TotalPages")
- Dim Size As Integer = Val(WMIGetInfo(Job, "Size"))
- Dim Owner As String = WMIGetInfo(Job, "Owner")
- With .Items.Add(Document)
- .SubItems.Add(Printer)
- .SubItems.Add(Status)
- .SubItems.Add(Pages)
- .SubItems.Add(FormatNumber(Size / 1024, 1, , , TriState.True) & " KB")
- .SubItems.Add(Owner)
- End With
- Next
- .EndUpdate()
- End With
- Me.Cursor = Cursors.Default
- End Sub
- ''' <summary>
- ''' Hilfsfunktion. Gibt den Eigenschaftenwert des Objekts zurück, falls vorhanden.
- ''' Ist der Eigenschaftenwert nicht verfügbar, wird ein Leerstring zurückgegeben.
- ''' </summary>
- Private Function WMIGetInfo(ByVal WMIObj As ManagementObject, _
- ByVal Key As String) As String
- If Not WMIObj(Key) Is Nothing Then
- Return WMIObj(Key).ToString
- Else
- Return ""
- End If
- End Function
- End Class
- CODE
FORTSETZUNG NÄCHSTE BEITRAG....
Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von „Alex2000“ ()