====== Windows Dienste ====== ===== Was ist ein Dienst? ===== 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). \\ FIXME Screenshot ===== Wozu werden Dienste verwendet? ===== 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. ===== Dienst erstellen ===== 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. * onStart, onStop, ... ===== Dienst manuell installieren und starten ===== ==== Dienst installieren ==== * installutil.exe ==== Dienst starten ==== * services.msc * net start ===== Setup für einen Dienst erstellen ===== ==== Dienst installieren ==== ==== Dienst starten ==== ===== Hinweise ===== ==== Arbeitsverzeichnis ==== 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()) === Ereignisanzeige === Ü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. \\ FIXME Screenshot