vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Dienst(e) 
Autor: Michael
Datum: 06.08.02 07:56

Hi!

Es gibt verschiedene Beispiele in der MSDN... Hier mal eins:

Basiert auf der MSDN. Hiermit kann man ein VB Programm als Dienst (Service) starten. Zum installieren muss das Programm mit dem Parameter "-install" gestartet werden, zum deinstallieren mit dem Parameter "-uninstall"

'-------------- Anfang Projektdatei SAMPLE.VBP --------------
'------ Anfang Formular "ServiceMain" alias sample.Frm ------
 
 
'Basiert auf einem Code aus der MSDN-Library.
 
 
'(C) MSDN
'TITLE: An OLE Control for Creating Win32 Services in Visual Basic
'Mauricio Ordóñez
'Microsoft Consulting Services
'June 1996
 
 
Option Explicit
 
Private Sub Form_Load()
 
On Error GoTo Err_Load
    Dim strDisplayName As String
    Dim bStarted As Boolean
 
    strDisplayName = NTService1.DisplayName
 
    StatusBar.Panels(1).Text = "Starte..."
 
    ' Befehle zur Interaktion mit dem Desktop
    If Command = "-install" Then
        'Installieren
        NTService1.Interactive = True
 
        If NTService1.Install Then
            Call NTService1.SaveSetting("Parameters",  _
                "TimerInterval", "1000")
            MsgBox strDisplayName & " erfolgreich installiert."
        Else
            MsgBox strDisplayName & " konnte nicht installiert werden."
        End If
        End
    ElseIf Command = "-uninstall" Then
        'Deinstallieren
        If NTService1.Uninstall Then
            MsgBox strDisplayName & " erfolgreich deinstalliert."
        Else
            MsgBox strDisplayName & " konnte nicht deinstalliert werden."
        End If
        End
    ElseIf Command = "-debug" Then
        NTService1.Debug = True
    ElseIf Command <> "" Then
        MsgBox "Unbekannter Kommandozeilenparameter"
        End
    End If
 
    StatusBar.Panels(1).Text = "Lade Konfiguration"
    Dim parmInterval As String
    parmInterval = NTService1.GetSetting("Parameters",  _
            "TimerInterval", "2000")
    Timer.Interval = CInt(parmInterval)
 
    ' Pause/Fortfahren muss initialisiert werden, bevor
    ' StartService aufgerufen wurde oder man sich im
    ' Design Modus befindet
    StatusBar.Panels(1).Text = "Steuerungsmodus aktiviert"
    NTService1.ControlsAccepted = svcCtrlPauseContinue
 
    ' Service zum "Windows NT services controller" verbinden
    StatusBar.Panels(1).Text = "Starte Verbindung"
    NTService1.StartService
 
Err_Load:
    If NTService1.Interactive Then
        MsgBox "[" & Err.Number & "] " & Err.Description
        End
    Else
        Call NTService1.LogEvent(svcMessageError, svcEventError, "["  _
            & Err.Number & "] " & Err.Description)
    End If
End Sub
 
 
Private Sub NTService1_Continue(Success As Boolean)
On Error GoTo Err_Continue
 
    Timer.Enabled = True
    StatusBar.Panels(1).Text = "Fortgefahren"
    Success = True
    Call NTService1.LogEvent(svcEventInformation, svcMessageInfo,  _
            "Service fortgefahren")
 
Err_Continue:
    Call NTService1.LogEvent(svcMessageError, svcEventError, "[" &  _
        Err.Number & "] " & Err.Description)
End Sub
 
Private Sub NTService1_Control(ByVal e As Long)
On Error GoTo Err_Control
 
    StatusBar.SimpleText = NTService1.DisplayName & " " &_
            "Steuerungssignal " & e
 
Err_Control:
    Call NTService1.LogEvent(svcMessageError, svcEventError, "[" &  _
        Err.Number & "] " & Err.Description)
End Sub
 
 
Private Sub NTService1_Pause(Success As Boolean)
On Error GoTo Err_Pause
 
    Timer.Enabled = False
    StatusBar.Panels(1).Text = "Pausiert"
    Call NTService1.LogEvent(svcEventError, svcMessageError, "Service " &_
            "pausiert")
    Success = True
 
Err_Pause:
    Call NTService1.LogEvent(svcMessageError, svcEventError, "[" &  _
        Err.Number & "] " & Err.Description)
End Sub
 
 
Private Sub NTService1_Start(Success As Boolean)
On Error GoTo Err_Start
 
    StatusBar.Panels(1).Text = "Ok"
    Success = True
 
Err_Start:
    Call NTService1.LogEvent(svcMessageError, svcEventError, "[" &  _
        Err.Number & "] " & Err.Description)
End Sub
 
 
Private Sub NTService1_Stop()
On Error GoTo Err_Stop
 
    StatusBar.Panels(1).Text = "Gestoppt"
    Unload Me
 
Err_Stop:
    Call NTService1.LogEvent(svcMessageError, svcEventError, "[" &  _
        Err.Number & "] " & Err.Description)
End Sub
 
 
Private Sub Timer_Timer()
On Error GoTo Err_Timer
    StatusBar.Panels(2).Text = Format(Now(), "hh:mm:ss")
 
Err_Timer:
    Call NTService1.LogEvent(svcMessageError, svcEventError, "[" &  _
        Err.Number & "] " & Err.Description)
End Sub
 
 
'------- Ende Formular "ServiceMain" alias sample.Frm -------
' Die Komponente COMCTL32.OCX wird benötigt.
' Die Komponente ntsvc-1.ocx wird benötigt.
'-------- Anfang Modul "declares" alias declares.bas --------
Public Declare Sub DebugBreak Lib "kernel32" ()
 
'--------- Ende Modul "declares" alias declares.bas ---------
'--------------- Ende Projektdatei SAMPLE.VBP ---------------
Gruss
Michael
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Dienst(e)77Florian Zink05.08.02 23:06
Re: Dienst(e)70Michael06.08.02 07:56
Re: Dienst(e)45Florian Zink06.08.02 14:20

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel