Windows Service ActiveX Control

The NT Service control is used to turn any application into a Windows Service. Features include:

 

  • Easily turn any server applications built using PowerTCP products into services.
  • Applications built with the Service Control target server-side applications that always run in the background, even when a user is not logged into the system.
  • With the Service Control, you can respond to all service events, including Start, Stop, Pause, and Resume. The Message event is included to support user messages sent from external applications. The Log method is included for logging event messages.
  • Convenient Install and Uninstall methods provide a way for your application to install and uninstall itself as a service. The Abort method allows your service to abort and stop itself while running.

 

Interface 
Public Properties
Params Contains the parameters passed to your service. This property may be read when the State property is serviceRunning.
State Determine what state the service is in. The State event fires to signal that this property has changed.
Public Methods
Abort Abort and stop a running service.
About Show the About Box.
Connect Connect the service to the operating system’s Service Control Manager (SCM). Call this method as soon as possible after your application starts.
Install Install the application as a service.
Log Enter an event in the Windows Event Log.
Uninstall Uninstall a service.
Public Events
Error Fires when an error occurs. This event fires before the error is reported back to the container's error object.
Message Fires when an application sends the service a user message. This can be used any way you wish, as it has no special meaning to the operating system.
State Fires to indicate the State property has changed value.

 

 

Code Example

How easy is the Service control to use? Check out the following Service VB example below, which demonstrates creating an echo service with the Server control.

 

 

Private Sub Form_Load()
On Error GoTo OnError ' use intrinsic error handling

'Connect to the Service Control Manager
Service1.Connect
Exit Sub

OnError: ' Any error jumps here
Debug.Print "Error #" + CStr(Err.Number) + ": " + Err.Description
End Sub

Private Sub Service1_State()
On Error GoTo OnError ' use intrinsic error handling
Dim I As Integer
Select Case Service1.State
Case serviceRunning
' service is now running, beep to the world!
Beep

' Start the Echo Server
Server1.Listen 7

Case servicePaused
' service is now going to sleep, stop listening for new connections
Server1.Close

Case serviceResumed
' service is now waking up from sleep, resume listening!
Server1.Listen 7

Case serviceStopped
' service is now stopping, log a message to Windows event log
Service1.Log serviceInformation, serviceInfoEvent, “Stopping”

' stop listening for new connections
Server1.Close

' shut down all active connections
For I = 1 To Server1.Children.Count
Server1.Children(I).Close
Next
End Select
Exit Sub

OnError: ' Any error jumps here
Debug.Print "Error #" + CStr(Err.Number) + ": " + Err.Description
End Sub