|
Tipp 0071
|
Windows-Dienste auslesen
|
|
|
Autor/Einsender: Datum: |
|
Michael Werner 30.03.2005 |
|
Entwicklungsumgebung: |
|
VB.Net 2003 |
Framework: |
|
1.1 |
|
|
Windows-Dienste besitzen keine graphische Oberflächen und laufen stets im Hintergrund ab.
Sie werden vom Service Control Manager (SCM, zu deutsch: Dienstkontrollmanager) verwaltet,
zu finden in der Systemsteuerung/Verwaltung/Dienste.
Es können übrigens auch eigene Dienste erstellt werden (Projekttyp: Windows Dienst).
|
In diesem Tipp werden die installierten Dienste aufgelistet und dabei die aktiven
von den deaktiven Diensten separiert.
|
|
|
Imports System.ServiceProcess
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Vom Windows Form Designer generierter Code "
Public Sub New()
MyBase.New()
' Dieser Aufruf ist für den Windows Form-Designer
' erforderlich.
InitializeComponent()
' Initialisierungen nach dem Aufruf InitializeComponent()
' hinzufügen
ListView1.View = View.Details
ListView1.Columns.Add("Dienst", 300, HorizontalAlignment.Left)
ListView1.Columns.Add("Status", 70, HorizontalAlignment.Left)
AddHandler RadioButton1.CheckedChanged, _
AddressOf Me.ListServices
AddHandler RadioButton2.CheckedChanged, _
AddressOf Me.ListServices
AddHandler RadioButton3.CheckedChanged, _
AddressOf Me.ListServices
RadioButton1.Checked = True
End Sub
'...
#End Region
Const MachineName As String = "."
Private Sub ListServices(ByVal sender As System.Object, _
ByVal e As System.EventArgs)
Dim services() As ServiceController
Dim i As Integer
Dim j As Integer
Dim item As ListViewItem
ListView1.Items.Clear()
Try
services = ServiceController.GetServices(MachineName)
For i = 0 To services.Length - 1
If RadioButton3.Checked Then
Label1.Text = RadioButton3.Text
If services(i).Status.ToString = "Running" Then
item = New ListViewItem(services(i).DisplayName, 0)
item.SubItems.Add(services(i).Status.ToString)
ListView1.Items.Add(item)
j += 1
End If
ElseIf RadioButton2.Checked Then
Label1.Text = RadioButton2.Text
If services(i).Status.ToString = "Stopped" Then
item = New ListViewItem(services(i).DisplayName, 0)
item.SubItems.Add(services(i).Status.ToString)
ListView1.Items.Add(item)
j += 1
End If
Else
Label1.Text = RadioButton1.Text
item = New ListViewItem(services(i).DisplayName, 0)
item.SubItems.Add(services(i).Status.ToString)
ListView1.Items.Add(item)
j += 1
End If
Next
Label2.Text = j.ToString
Catch ex As System.Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class
|
|
|
|
|
Windows-Version |
98/SE |
|
|
ME |
|
|
NT |
|
|
2000 |
|
|
XP |
|
|
Vista |
|
|
Win
7 |
|
|
|
|
Download (6,9 kB)
|
Downloads bisher: [ 1093 ]
|
|
|