Imports System.ServiceProcess Imports System.Reflection Imports System.IO Public Class Service1 Inherits System.ServiceProcess.ServiceBase #Region " Vom Component Designer generierter Code " Public Sub New() MyBase.New() ' Dieser Aufruf wird vom Komponenten-Designer benötigt. InitializeComponent() ' Fügen Sie Initialisierungscode hinter dem InitializeComponent()-Aufruf ein End Sub 'UserService überschreibt den Löschvorgang zum Bereinigen der Komponentenliste. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub ' Der Haupteinstiegspunkt für den Vorgang _ Shared Sub Main() Dim ServicesToRun() As System.ServiceProcess.ServiceBase ' Innerhalb desselben Prozesses können mehrere NT-Dienste ausgeführt werden. Um einen ' weiteren Dienst zum Prozess hinzuzufügen, änderen Sie die folgende Zeile, ' um ein zweites Dienstprojekt zu erstellen. Z.B., ' ' ServicesToRun = New System.ServiceProcess.ServiceBase () {New Service1, New MySecondUserService} ' ServicesToRun = New System.ServiceProcess.ServiceBase () {New Service1} System.ServiceProcess.ServiceBase.Run(ServicesToRun) End Sub ' Für Komponenten-Designer erforderlich Private components As System.ComponentModel.IContainer ' HINWEIS: Die folgende Prozedur wird vom Komponenten-Designer benötigt. ' Sie kann mit dem Komponenten-Designer modifiziert werden. Verwenden Sie nicht ' den Code-Editor zur Bearbeitung. Private Sub InitializeComponent() components = New System.ComponentModel.Container() Me.ServiceName = "Service1" End Sub #End Region Protected Overrides Sub OnStart(ByVal args() As String) ' Hier Code zum Starten des Dienstes einfügen. Diese Methode sollte Vorgänge ' starten damit der Dienst richtig arbeiten kann. Try Threading.Thread.Sleep(10000) Dim pgm As String = "" Dim wait As String = "" FileOpen(1, ApplicationPath() + "startfile.txt", OpenMode.Input) Input(1, pgm) Input(1, wait) FileClose(1) If UCase(wait) = "TRUE" Then Shell(pgm, AppWinStyle.NormalNoFocus, True) Else Shell(pgm, AppWinStyle.NormalNoFocus, False) End If 'Shell("C:\Program Files\Adobe\Acrobat 7.0\Distillr\acrodist.exe", AppWinStyle.NormalFocus, False) ' Shell("C:\Program Files\Adobe\Acrobat 7.0\Distillr\acrodist.exe", AppWinStyle.NormalNoFocus, False) Catch End Try End Sub Protected Overrides Sub OnStop() ' Hier Code zum Ausführen notwendiger Löschvorgänge zum Anhalten des Dienstes einfügen. End Sub Public Function ApplicationPath() As String 'Return Path.GetDirectoryName([Assembly].GetExecutingAssembly().Location) Return Path.GetDirectoryName([Assembly].GetEntryAssembly().Location) + "\" End Function End Class