Ein Dienst (oft auch „Service“ genannt, im Unix-Bereich „Daemon“) ist ein Programm, welches ohne grafische Oberfläche und Benutzerinteraktion im Hintergrund läuft. Einen Überblick über aktuell laufende Dienste bekommt man über Systemsteuerung → Verwaltung → Dienste bzw. über die Eingabe von services.msc
im Ausführungsdialog (Shortcut: Windows+r).
Screenshot
Dienste werden vor allem für Aufgaben verwendet, die nicht permanent verwendet werden, jedoch auf ein bestimmtes Ereignis warten. Unter den Standard-Diensten findet man den Telnet-Dienst, der es ermöglicht den Computer von außen zu steuern. Dieser Dienst muss ständig auf möglliche Verbindungsversuche von außen warten, selbst wenn niemand aktiv verbunden ist.
Um einen Dienst in VB.NET zu erstellen wird die Professional Edition von Visual Studio benötigt, mit der Express Edition ist das nicht möglich! Microsoft bietet jedoch auf deren Homepage eine kostenlose 30-Tage Testversion an, die für dieses Tutorial verwendet werden kann.
Es ist zu beachten, dass Dienste vom System gestartet werden und ihr Arbeitsverzeichnis deshalb das Systemverzeichnis ist. Unter Windows XP ist das folgendes:
C:\WINDOWS\system32
Dieses verhalten kann man jedoch ändern, üblich ist z.B. das Verzeichnis in dem die ausführbare Datei liegt:
Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory())
Über die Ereignisanzeige können Informationen über Events im Bezug auf Dienste abgefragt werden. Hier wird unter anderem aufgelistet, wann ein Dienst gestartet bzw. gestoppt wurde. Diese Anzeige erhält man unter Windows XP über Systemsteuerung → Verwaltung → Ereignisanzeige und einem Klick auf den Reiter System
. Selbiges Fenster erhält man über die Eingabe von eventvwr.exe
im Ausführungsdialog. Bei Events die Services betreffen wird als Quelle Service Control Manager
angegeben.
Screenshot