You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
3.2 KiB

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
<MTAThread()> _
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.
<System.Diagnostics.DebuggerStepThrough()> 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