Mit nachfolgendem Code lassen sich alle aktuell ausgeführten Windows-Dienste eines beliebigen im Netzwerk erreichbaren Rechners ermitteln. Erstellen Sie ein neues Windows-Forms Projekt und fügen den Verweis auf die Assembly "System.ServiceProcess" (in system.serviceprocess.dll) hinzu. Platzieren Sie anschließend auf die Form ein ListView-Control, eine TextBox und einen Button und fügen nachfolgenden Code ein: Imports System.ServiceProcess Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load With Me ' Form zentrieren. .CenterToScreen() ' Fenstertext setzen .Text = "Windows Dienste auflisten..." With Me.ListView1 ' Ansichtsmodus vom ListView setzen .View = View.Details .FullRowSelect = True .Columns.Add("Dienst", -2) ' Eigenschaften der TextBox definieren. With Me.TextBox1 ' Schrifteigenschaften initialisieren. Dim fnt As Font = New Font("Arial", 10.0F, FontStyle.Bold) ' Schrifteigenschaften der TextBox setzen. .ForeColor = Color.Red .Font = fnt .Text = "." ' ...oder Computernamen ( im Netzwerk erreichbar... ) End With End With End With End Sub ''' <summary> ''' Ermittelt Windows-Dienste. ComputerName = Sie koennen den Computernamen angeben. ''' </summary> ''' <param name="ComputerName">Computername oder . für aktuellen Computer</param> Private Function EnumWindowsServiceProcess( _ Optional ByVal ComputerName As String = ".") As List(Of String) ' ServiceController initialisieren. Dim sc() As ServiceController ' Liste initialisieren. Dim List As New List(Of String) Try ' Variable sc() initialisieren sc = ServiceController.GetServices(ComputerName) ' Schleifendurchlauf... For n As Integer = 0 To sc.Length - 1 ' Dienste an die Variable List uebergeben. List.Add(sc(n).DisplayName) Next ' Rueckgabe der ermittelten Dienste in der deklarierten Liste (List)... Return List ' Moegliche Fehler abfangen. Catch ex As Exception MessageBox.Show(ex.Message.ToString(), "Info") End Try Return Nothing End Function Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' Computernamen anzeigen... Nur zum Hinweis oder zur Uebergabe ' an (die) Funktion("EnumWindowsServiceProcess") Dim _computername As String = My.Computer.Name() ' Ausgabe des Computernamens in der Titelzeile der Form. Me.Text = _computername ' ListView - Item deklarieren Dim Item As ListViewItem = Nothing ' Enthaelt das ListView Control Eintraege werden diese entfernt. If Me.ListView1.Items.Count > 0 Then Me.ListView1.Clear() With Me.ListView1 Try ' Funktion "EnumWindowsServiceProcess" aufrufen und ' Ergebnis an Liste uebergeben. Dim List As List(Of String) = _ Me.EnumWindowsServiceProcess(Me.TextBox1.Text) ' oder _computername ' Enthaelt die Liste Eintraege werden diese in einer ' Schleife ausgelesen und an die Variable Item uebergeben. If List IsNot Nothing Then For n As Integer = 0 To List.Count - 1 Item = New ListViewItem(List(n), 0) ' ListView mit den Werten aus der Variablen Item fuellen. .Items.Add(Item) Next Else ' Enthaelt die Liste keine Eintraege wird eine MessageBox angezeigt... MessageBox.Show("Keine Eintraege vorhanden!", "Info") End If Catch ex As Exception ' Entsteht ein Fehler wird dieser abgefangen. MessageBox.Show(ex.Message.ToString(), "Info") End Try End With End Sub End Class Dieser Tipp wurde bereits 14.130 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||
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. |