home *** CD-ROM | disk | FTP | other *** search
- VERSION 5.00
- Object = "{97746B20-E2AE-11D2-9A51-00000100C2E6}#1.0#0"; "AxServic.ocx"
- Begin VB.Form FrmServiceManager
- BorderStyle = 3 'Fixed Dialog
- Caption = "Service Manager"
- ClientHeight = 6840
- ClientLeft = 45
- ClientTop = 330
- ClientWidth = 6195
- BeginProperty Font
- Name = "Arial"
- Size = 9
- Charset = 0
- Weight = 400
- Underline = 0 'False
- Italic = 0 'False
- Strikethrough = 0 'False
- EndProperty
- LinkTopic = "Form1"
- MaxButton = 0 'False
- MinButton = 0 'False
- ScaleHeight = 6840
- ScaleWidth = 6195
- ShowInTaskbar = 0 'False
- StartUpPosition = 2 'CenterScreen
- Begin AxServic.AxNTService NTServiceX
- Left = 1320
- Top = 2400
- MachineName = ""
- DatabaseName = ""
- ManagerAccess = 1
- ServiceAccess = 983551
- ServiceName = ""
- DisplayName = ""
- BinaryPathName = ""
- StartType = 0
- ErrorControl = 0
- ServiceType = 0
- LoadOrder = ""
- TagId = 0
- ServiceStartName= ""
- Password = ""
- ActiveManager = 0 'False
- ActiveService = 0 'False
- End
- Begin VB.CommandButton btnClose
- Caption = "Close"
- Height = 375
- Left = 4380
- TabIndex = 11
- Top = 6360
- Width = 1695
- End
- Begin VB.CommandButton btnProperties
- Caption = "Properties..."
- Height = 375
- Left = 4380
- TabIndex = 10
- Top = 3900
- Width = 1695
- End
- Begin VB.CommandButton btnDelete
- Caption = "Delete"
- Enabled = 0 'False
- Height = 375
- Left = 4380
- TabIndex = 9
- Top = 3420
- Width = 1695
- End
- Begin VB.CommandButton btnNewService
- Caption = "New Service..."
- Enabled = 0 'False
- Height = 375
- Left = 4380
- TabIndex = 8
- Top = 2940
- Width = 1695
- End
- Begin VB.CommandButton btnStop
- Caption = "Stop"
- Height = 375
- Left = 4380
- TabIndex = 7
- Top = 2460
- Width = 1695
- End
- Begin VB.CommandButton btnStart
- Caption = "Start"
- Height = 375
- Left = 4380
- TabIndex = 6
- Top = 1980
- Width = 1695
- End
- Begin VB.CommandButton btnRefresh
- Caption = "Refresh"
- Height = 375
- Left = 4380
- TabIndex = 5
- Top = 1500
- Width = 1695
- End
- Begin VB.ComboBox cmbComputer
- Height = 345
- Left = 4380
- Style = 2 'Dropdown List
- TabIndex = 3
- Top = 960
- Width = 1695
- End
- Begin VB.ListBox lbxServices
- BeginProperty Font
- Name = "Courier"
- Size = 9.75
- Charset = 0
- Weight = 400
- Underline = 0 'False
- Italic = 0 'False
- Strikethrough = 0 'False
- EndProperty
- Height = 6300
- Left = 60
- TabIndex = 2
- Top = 420
- Width = 4155
- End
- Begin VB.CheckBox cbxReadOnly
- Caption = "Read only"
- Height = 255
- Left = 2760
- TabIndex = 1
- Top = 60
- Value = 1 'Checked
- Width = 1395
- End
- Begin VB.CheckBox cbxDevices
- Caption = "Show devices"
- Height = 255
- Left = 60
- TabIndex = 0
- Top = 60
- Width = 1755
- End
- Begin VB.Label Label1
- Caption = "Computer name"
- Height = 195
- Left = 4380
- TabIndex = 4
- Top = 660
- Width = 1635
- End
- Attribute VB_Name = "FrmServiceManager"
- Attribute VB_GlobalNameSpace = False
- Attribute VB_Creatable = False
- Attribute VB_PredeclaredId = True
- Attribute VB_Exposed = False
- Public List As IEnumList
- Private Sub SetButtonStates()
- If (List.Count > 0) And (lbxServices.ListCount > 0) Then
- If List.Items(lbxServices.ListIndex).CurrentState = STOPPED Then
- btnStart.Enabled = True
- btnStop.Enabled = False
- End If
- If List.Items(lbxServices.ListIndex).CurrentState = RUNNING Then
- btnStart.Enabled = False
- btnStop.Enabled = True
- End If
- Else
- btnStart.Enabled = False
- btnStop.Enabled = False
- End If
- End Sub
- Public Sub Sleep(Seconds As Integer)
- Start = Timer
- Do While Timer < Start + Seconds
- DoEvents
- Loop
- End Sub
- Private Sub btnClose_Click()
- Unload FrmServiceManager
- End Sub
- Private Sub btnDelete_Click()
- On Error GoTo ErrorHandler
- If MsgBox("Are you sure to delete service ?. It may cause system damage !", vbOKCancel, "Warning") = vbCancel Then Exit Sub
- NTServiceX.ManagerAccess = M_CONNECT + M_ENUMERATE_SERVICE
- NTServiceX.ServiceAccess = S_ALL_ACCESS
- NTServiceX.ServiceName = List.Items(lbxServices.ListIndex).ServiceName
- NTServiceX.ActiveManager = True
- NTServiceX.ActiveService = True
- NTServiceX.DeleteService
- MsgBox ("The specified service has been marked for deletion.")
- cmbComputer_Click
- ExitProc:
- NTServiceX.ActiveService = False
- NTServiceX.ActiveManager = False
- Exit Sub
- ErrorHandler:
- MsgBox (Err.Description)
- Resume ExitProc
- End Sub
- Private Sub btnNewService_Click()
- FrmNewService.Show (vbModal)
- FrmServiceManager.Sleep (3)
- cmbComputer_Click
- End Sub
- Private Sub btnProperties_Click()
- FrmProperty.Show (vbModal)
- End Sub
- Private Sub btnRefresh_Click()
- cmbComputer_Click
- End Sub
- Private Sub btnStart_Click()
- On Error GoTo ErrorHandler
- NTServiceX.ManagerAccess = M_CONNECT + M_ENUMERATE_SERVICE
- NTServiceX.ServiceAccess = S_ALL_ACCESS
- NTServiceX.ServiceName = List.Items(lbxServices.ListIndex).ServiceName
- NTServiceX.ActiveManager = True
- NTServiceX.ActiveService = True
- NTServiceX.Startservice
- ExitProc:
- NTServiceX.ActiveService = False
- NTServiceX.ActiveManager = False
- Sleep (3)
- cmbComputer_Click
- Exit Sub
- ErrorHandler:
- MsgBox (Err.Description)
- Resume ExitProc
- End Sub
- Private Sub btnStop_Click()
- On Error GoTo ErrorHandler
- NTServiceX.ManagerAccess = M_CONNECT + M_ENUMERATE_SERVICE
- NTServiceX.ServiceAccess = S_ALL_ACCESS
- NTServiceX.ServiceName = List.Items(lbxServices.ListIndex).ServiceName
- NTServiceX.ActiveManager = True
- NTServiceX.ActiveService = True
- NTServiceX.ControlService (CONTROL_STOP)
- ExitProc:
- NTServiceX.ActiveService = False
- NTServiceX.ActiveManager = False
- Sleep (4)
- cmbComputer_Click
- Exit Sub
- ErrorHandler:
- MsgBox (Err.Description)
- Resume ExitProc
- End Sub
- Private Sub cbxDevices_Click()
- cmbComputer_Click
- End Sub
- Private Sub cbxReadOnly_Click()
- btnDelete.Enabled = Not (cbxReadOnly.Value = 1)
- btnNewService.Enabled = Not (cbxReadOnly.Value = 1)
- End Sub
- Private Sub cmbComputer_Click()
- On Error GoTo ErrorHandler
- NTServiceX.ActiveManager = False
- AType = [PROCESS]
- If cbxDevices.Value Then AType = AType + [DRIVER]
- NTServiceX.MachineName = cmbComputer.Text
- NTServiceX.ManagerAccess = M_CONNECT + M_ENUMERATE_SERVICE
- lbxServices.Clear
- Set List = NTServiceX.GetServiceList(STATE_ACTIVE + STATE_INACTIVE, AType)
- For i = 0 To List.Count - 1
- S = List.Items(i).ServiceName
- While Len(S) < 23
- S = S + " "
- Wend
- Select Case List.Items(i).CurrentState
- Case STOPPED
- S = S + " Stopped"
- Case START_PENDING
- S = S + " Starting"
- Case STOP_PENDING
- S = S + " Stopping"
- Case RUNNING
- S = S + " Running"
- Case CONTINUE_PENDING
- S = S + " Continueing"
- Case PAUSE_PENDING
- S = S + " Pausing"
- Case PAUSED
- S = S + " Paused"
- End Select
- lbxServices.AddItem (S)
- Next i
- ExitProc:
- NTServiceX.ActiveManager = False
- If lbxServices.ListCount > 0 Then lbxServices.ListIndex = 0
- SetButtonStates
- Exit Sub
- ErrorHandler:
- MsgBox (Err.Description)
- Resume ExitProc
- End Sub
- Private Sub Form_Load()
- On Error GoTo ErrorHandler
- Set AList = NTServiceX.GetServers("")
- For i = 0 To AList.Count - 1
- cmbComputer.AddItem (AList.Item(i))
- Next i
- cmbComputer.Text = NTServiceX.GetPrimaryDomainServerName
- ExitProc:
- cmbComputer_Click
- Exit Sub
- ErrorHandler:
- MsgBox (Err.Description)
- Resume ExitProc
- End Sub
- Private Sub lbxServices_Click()
- SetButtonStates
- End Sub
- Private Sub lbxServices_DblClick()
- btnProperties_Click
- End Sub
-