home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Controls / Visual Basic Controls.iso / vbcontrol / ntsetact / mainform.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1999-03-29  |  9.4 KB  |  317 lines

  1. VERSION 5.00
  2. Object = "{97746B20-E2AE-11D2-9A51-00000100C2E6}#1.0#0"; "AxServic.ocx"
  3. Begin VB.Form FrmServiceManager 
  4.    BorderStyle     =   3  'Fixed Dialog
  5.    Caption         =   "Service Manager"
  6.    ClientHeight    =   6840
  7.    ClientLeft      =   45
  8.    ClientTop       =   330
  9.    ClientWidth     =   6195
  10.    BeginProperty Font 
  11.       Name            =   "Arial"
  12.       Size            =   9
  13.       Charset         =   0
  14.       Weight          =   400
  15.       Underline       =   0   'False
  16.       Italic          =   0   'False
  17.       Strikethrough   =   0   'False
  18.    EndProperty
  19.    LinkTopic       =   "Form1"
  20.    MaxButton       =   0   'False
  21.    MinButton       =   0   'False
  22.    ScaleHeight     =   6840
  23.    ScaleWidth      =   6195
  24.    ShowInTaskbar   =   0   'False
  25.    StartUpPosition =   2  'CenterScreen
  26.    Begin AxServic.AxNTService NTServiceX 
  27.       Left            =   1320
  28.       Top             =   2400
  29.       MachineName     =   ""
  30.       DatabaseName    =   ""
  31.       ManagerAccess   =   1
  32.       ServiceAccess   =   983551
  33.       ServiceName     =   ""
  34.       DisplayName     =   ""
  35.       BinaryPathName  =   ""
  36.       StartType       =   0
  37.       ErrorControl    =   0
  38.       ServiceType     =   0
  39.       LoadOrder       =   ""
  40.       TagId           =   0
  41.       ServiceStartName=   ""
  42.       Password        =   ""
  43.       ActiveManager   =   0   'False
  44.       ActiveService   =   0   'False
  45.    End
  46.    Begin VB.CommandButton btnClose 
  47.       Caption         =   "Close"
  48.       Height          =   375
  49.       Left            =   4380
  50.       TabIndex        =   11
  51.       Top             =   6360
  52.       Width           =   1695
  53.    End
  54.    Begin VB.CommandButton btnProperties 
  55.       Caption         =   "Properties..."
  56.       Height          =   375
  57.       Left            =   4380
  58.       TabIndex        =   10
  59.       Top             =   3900
  60.       Width           =   1695
  61.    End
  62.    Begin VB.CommandButton btnDelete 
  63.       Caption         =   "Delete"
  64.       Enabled         =   0   'False
  65.       Height          =   375
  66.       Left            =   4380
  67.       TabIndex        =   9
  68.       Top             =   3420
  69.       Width           =   1695
  70.    End
  71.    Begin VB.CommandButton btnNewService 
  72.       Caption         =   "New Service..."
  73.       Enabled         =   0   'False
  74.       Height          =   375
  75.       Left            =   4380
  76.       TabIndex        =   8
  77.       Top             =   2940
  78.       Width           =   1695
  79.    End
  80.    Begin VB.CommandButton btnStop 
  81.       Caption         =   "Stop"
  82.       Height          =   375
  83.       Left            =   4380
  84.       TabIndex        =   7
  85.       Top             =   2460
  86.       Width           =   1695
  87.    End
  88.    Begin VB.CommandButton btnStart 
  89.       Caption         =   "Start"
  90.       Height          =   375
  91.       Left            =   4380
  92.       TabIndex        =   6
  93.       Top             =   1980
  94.       Width           =   1695
  95.    End
  96.    Begin VB.CommandButton btnRefresh 
  97.       Caption         =   "Refresh"
  98.       Height          =   375
  99.       Left            =   4380
  100.       TabIndex        =   5
  101.       Top             =   1500
  102.       Width           =   1695
  103.    End
  104.    Begin VB.ComboBox cmbComputer 
  105.       Height          =   345
  106.       Left            =   4380
  107.       Style           =   2  'Dropdown List
  108.       TabIndex        =   3
  109.       Top             =   960
  110.       Width           =   1695
  111.    End
  112.    Begin VB.ListBox lbxServices 
  113.       BeginProperty Font 
  114.          Name            =   "Courier"
  115.          Size            =   9.75
  116.          Charset         =   0
  117.          Weight          =   400
  118.          Underline       =   0   'False
  119.          Italic          =   0   'False
  120.          Strikethrough   =   0   'False
  121.       EndProperty
  122.       Height          =   6300
  123.       Left            =   60
  124.       TabIndex        =   2
  125.       Top             =   420
  126.       Width           =   4155
  127.    End
  128.    Begin VB.CheckBox cbxReadOnly 
  129.       Caption         =   "Read only"
  130.       Height          =   255
  131.       Left            =   2760
  132.       TabIndex        =   1
  133.       Top             =   60
  134.       Value           =   1  'Checked
  135.       Width           =   1395
  136.    End
  137.    Begin VB.CheckBox cbxDevices 
  138.       Caption         =   "Show devices"
  139.       Height          =   255
  140.       Left            =   60
  141.       TabIndex        =   0
  142.       Top             =   60
  143.       Width           =   1755
  144.    End
  145.    Begin VB.Label Label1 
  146.       Caption         =   "Computer name"
  147.       Height          =   195
  148.       Left            =   4380
  149.       TabIndex        =   4
  150.       Top             =   660
  151.       Width           =   1635
  152.    End
  153. Attribute VB_Name = "FrmServiceManager"
  154. Attribute VB_GlobalNameSpace = False
  155. Attribute VB_Creatable = False
  156. Attribute VB_PredeclaredId = True
  157. Attribute VB_Exposed = False
  158. Public List As IEnumList
  159. Private Sub SetButtonStates()
  160.   If (List.Count > 0) And (lbxServices.ListCount > 0) Then
  161.     If List.Items(lbxServices.ListIndex).CurrentState = STOPPED Then
  162.       btnStart.Enabled = True
  163.       btnStop.Enabled = False
  164.     End If
  165.     If List.Items(lbxServices.ListIndex).CurrentState = RUNNING Then
  166.       btnStart.Enabled = False
  167.       btnStop.Enabled = True
  168.     End If
  169.     Else
  170.     btnStart.Enabled = False
  171.     btnStop.Enabled = False
  172.     End If
  173. End Sub
  174. Public Sub Sleep(Seconds As Integer)
  175.   Start = Timer
  176.   Do While Timer < Start + Seconds
  177.         DoEvents
  178.   Loop
  179. End Sub
  180. Private Sub btnClose_Click()
  181.   Unload FrmServiceManager
  182. End Sub
  183. Private Sub btnDelete_Click()
  184.   On Error GoTo ErrorHandler
  185.   If MsgBox("Are you sure to delete service ?. It may cause system damage !", vbOKCancel, "Warning") = vbCancel Then Exit Sub
  186.   NTServiceX.ManagerAccess = M_CONNECT + M_ENUMERATE_SERVICE
  187.   NTServiceX.ServiceAccess = S_ALL_ACCESS
  188.   NTServiceX.ServiceName = List.Items(lbxServices.ListIndex).ServiceName
  189.   NTServiceX.ActiveManager = True
  190.   NTServiceX.ActiveService = True
  191.   NTServiceX.DeleteService
  192.   MsgBox ("The specified service has been marked for deletion.")
  193.   cmbComputer_Click
  194. ExitProc:
  195.   NTServiceX.ActiveService = False
  196.   NTServiceX.ActiveManager = False
  197.   Exit Sub
  198. ErrorHandler:
  199.   MsgBox (Err.Description)
  200.   Resume ExitProc
  201. End Sub
  202. Private Sub btnNewService_Click()
  203.   FrmNewService.Show (vbModal)
  204.   FrmServiceManager.Sleep (3)
  205.   cmbComputer_Click
  206. End Sub
  207. Private Sub btnProperties_Click()
  208.   FrmProperty.Show (vbModal)
  209. End Sub
  210. Private Sub btnRefresh_Click()
  211.   cmbComputer_Click
  212. End Sub
  213. Private Sub btnStart_Click()
  214.   On Error GoTo ErrorHandler
  215.   NTServiceX.ManagerAccess = M_CONNECT + M_ENUMERATE_SERVICE
  216.   NTServiceX.ServiceAccess = S_ALL_ACCESS
  217.   NTServiceX.ServiceName = List.Items(lbxServices.ListIndex).ServiceName
  218.   NTServiceX.ActiveManager = True
  219.   NTServiceX.ActiveService = True
  220.   NTServiceX.Startservice
  221. ExitProc:
  222.   NTServiceX.ActiveService = False
  223.   NTServiceX.ActiveManager = False
  224.   Sleep (3)
  225.   cmbComputer_Click
  226.   Exit Sub
  227. ErrorHandler:
  228.   MsgBox (Err.Description)
  229.   Resume ExitProc
  230. End Sub
  231. Private Sub btnStop_Click()
  232.   On Error GoTo ErrorHandler
  233.   NTServiceX.ManagerAccess = M_CONNECT + M_ENUMERATE_SERVICE
  234.   NTServiceX.ServiceAccess = S_ALL_ACCESS
  235.   NTServiceX.ServiceName = List.Items(lbxServices.ListIndex).ServiceName
  236.   NTServiceX.ActiveManager = True
  237.   NTServiceX.ActiveService = True
  238.   NTServiceX.ControlService (CONTROL_STOP)
  239. ExitProc:
  240.   NTServiceX.ActiveService = False
  241.   NTServiceX.ActiveManager = False
  242.   Sleep (4)
  243.   cmbComputer_Click
  244.   Exit Sub
  245. ErrorHandler:
  246.   MsgBox (Err.Description)
  247.   Resume ExitProc
  248. End Sub
  249. Private Sub cbxDevices_Click()
  250.   cmbComputer_Click
  251. End Sub
  252. Private Sub cbxReadOnly_Click()
  253.   btnDelete.Enabled = Not (cbxReadOnly.Value = 1)
  254.   btnNewService.Enabled = Not (cbxReadOnly.Value = 1)
  255. End Sub
  256. Private Sub cmbComputer_Click()
  257.   On Error GoTo ErrorHandler
  258.   NTServiceX.ActiveManager = False
  259.   AType = [PROCESS]
  260.   If cbxDevices.Value Then AType = AType + [DRIVER]
  261.   NTServiceX.MachineName = cmbComputer.Text
  262.   NTServiceX.ManagerAccess = M_CONNECT + M_ENUMERATE_SERVICE
  263.   lbxServices.Clear
  264.   Set List = NTServiceX.GetServiceList(STATE_ACTIVE + STATE_INACTIVE, AType)
  265.   For i = 0 To List.Count - 1
  266.     S = List.Items(i).ServiceName
  267.     While Len(S) < 23
  268.       S = S + " "
  269.     Wend
  270.     Select Case List.Items(i).CurrentState
  271.     Case STOPPED
  272.        S = S + " Stopped"
  273.     Case START_PENDING
  274.        S = S + " Starting"
  275.     Case STOP_PENDING
  276.        S = S + " Stopping"
  277.     Case RUNNING
  278.        S = S + " Running"
  279.     Case CONTINUE_PENDING
  280.        S = S + " Continueing"
  281.     Case PAUSE_PENDING
  282.        S = S + " Pausing"
  283.     Case PAUSED
  284.        S = S + " Paused"
  285.     End Select
  286.     lbxServices.AddItem (S)
  287.   Next i
  288. ExitProc:
  289.   NTServiceX.ActiveManager = False
  290.   If lbxServices.ListCount > 0 Then lbxServices.ListIndex = 0
  291.   SetButtonStates
  292.   Exit Sub
  293. ErrorHandler:
  294.   MsgBox (Err.Description)
  295.   Resume ExitProc
  296. End Sub
  297. Private Sub Form_Load()
  298.   On Error GoTo ErrorHandler
  299.   Set AList = NTServiceX.GetServers("")
  300.   For i = 0 To AList.Count - 1
  301.     cmbComputer.AddItem (AList.Item(i))
  302.   Next i
  303.   cmbComputer.Text = NTServiceX.GetPrimaryDomainServerName
  304. ExitProc:
  305.   cmbComputer_Click
  306.   Exit Sub
  307. ErrorHandler:
  308.   MsgBox (Err.Description)
  309.   Resume ExitProc
  310. End Sub
  311. Private Sub lbxServices_Click()
  312.   SetButtonStates
  313. End Sub
  314. Private Sub lbxServices_DblClick()
  315.   btnProperties_Click
  316. End Sub
  317.