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
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
|