home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 27 / IOPROG_27.ISO / SOFT / ADSDK.ZIP / Samples / WinNT / Service / Services.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1999-03-17  |  11.6 KB  |  388 lines

  1. VERSION 5.00
  2. Begin VB.Form frmService 
  3.    Caption         =   "Service"
  4.    ClientHeight    =   4815
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   7125
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   4815
  10.    ScaleWidth      =   7125
  11.    StartUpPosition =   3  'Windows Default
  12.    Begin VB.CommandButton cmdRefresh 
  13.       Caption         =   "Refresh Status"
  14.       Height          =   375
  15.       Left            =   5280
  16.       TabIndex        =   23
  17.       Top             =   240
  18.       Width           =   1575
  19.    End
  20.    Begin VB.TextBox txtSvcStatus 
  21.       BackColor       =   &H8000000F&
  22.       Height          =   315
  23.       Left            =   3960
  24.       TabIndex        =   22
  25.       Top             =   3240
  26.       Width           =   2445
  27.    End
  28.    Begin VB.TextBox txtSvcType 
  29.       BackColor       =   &H8000000F&
  30.       Height          =   315
  31.       Left            =   3960
  32.       TabIndex        =   11
  33.       Top             =   2055
  34.       Width           =   2445
  35.    End
  36.    Begin VB.TextBox txtOrderGroup 
  37.       BackColor       =   &H8000000F&
  38.       Height          =   315
  39.       Left            =   3960
  40.       TabIndex        =   10
  41.       Top             =   2865
  42.       Width           =   2445
  43.    End
  44.    Begin VB.TextBox txtErrorControl 
  45.       BackColor       =   &H8000000F&
  46.       Height          =   315
  47.       Left            =   3960
  48.       TabIndex        =   9
  49.       Top             =   2460
  50.       Width           =   2445
  51.    End
  52.    Begin VB.TextBox txtStartType 
  53.       BackColor       =   &H8000000F&
  54.       Height          =   315
  55.       Left            =   3960
  56.       TabIndex        =   7
  57.       Top             =   1650
  58.       Width           =   2445
  59.    End
  60.    Begin VB.CommandButton cmdChange 
  61.       Caption         =   "Change..."
  62.       Height          =   345
  63.       Left            =   3570
  64.       TabIndex        =   6
  65.       Top             =   240
  66.       Width           =   1365
  67.    End
  68.    Begin VB.TextBox txtComputer 
  69.       BackColor       =   &H8000000F&
  70.       ForeColor       =   &H80000012&
  71.       Height          =   315
  72.       Left            =   1155
  73.       TabIndex        =   5
  74.       Top             =   255
  75.       Width           =   2265
  76.    End
  77.    Begin VB.TextBox txtDisplayName 
  78.       BackColor       =   &H8000000F&
  79.       Height          =   285
  80.       Left            =   3960
  81.       TabIndex        =   4
  82.       Top             =   1275
  83.       Width           =   2445
  84.    End
  85.    Begin VB.CommandButton cmdPause 
  86.       Caption         =   "Pause"
  87.       Height          =   360
  88.       Left            =   5445
  89.       TabIndex        =   3
  90.       Top             =   4020
  91.       Width           =   1170
  92.    End
  93.    Begin VB.CommandButton cmdStop 
  94.       Caption         =   "Stop"
  95.       Height          =   360
  96.       Left            =   4095
  97.       TabIndex        =   2
  98.       Top             =   4020
  99.       Width           =   1170
  100.    End
  101.    Begin VB.CommandButton cmdStart 
  102.       Caption         =   "Start"
  103.       Height          =   360
  104.       Left            =   2775
  105.       TabIndex        =   1
  106.       Top             =   4035
  107.       Width           =   1170
  108.    End
  109.    Begin VB.ListBox lstService 
  110.       Height          =   3570
  111.       Left            =   225
  112.       TabIndex        =   0
  113.       Top             =   1065
  114.       Width           =   2010
  115.    End
  116.    Begin VB.Frame Frame1 
  117.       Caption         =   "Properties"
  118.       Height          =   2745
  119.       Left            =   2535
  120.       TabIndex        =   12
  121.       Top             =   930
  122.       Width           =   4470
  123.       Begin VB.Label Label5 
  124.          Caption         =   "Status"
  125.          Height          =   255
  126.          Left            =   120
  127.          TabIndex        =   21
  128.          Top             =   2280
  129.          Width           =   855
  130.       End
  131.       Begin VB.Label Label4 
  132.          Caption         =   "Order Group:"
  133.          Height          =   210
  134.          Left            =   120
  135.          TabIndex        =   17
  136.          Top             =   1965
  137.          Width           =   1110
  138.       End
  139.       Begin VB.Label Label3 
  140.          Caption         =   "Error Control:"
  141.          Height          =   225
  142.          Left            =   120
  143.          TabIndex        =   16
  144.          Top             =   1560
  145.          Width           =   1080
  146.       End
  147.       Begin VB.Label lblSvcType 
  148.          Caption         =   "Service Type:"
  149.          Height          =   195
  150.          Left            =   120
  151.          TabIndex        =   15
  152.          Top             =   1155
  153.          Width           =   1125
  154.       End
  155.       Begin VB.Label Label7 
  156.          Caption         =   "Startup:"
  157.          Height          =   165
  158.          Left            =   120
  159.          TabIndex        =   14
  160.          Top             =   765
  161.          Width           =   810
  162.       End
  163.       Begin VB.Label DisplayName 
  164.          Caption         =   "Display Name:"
  165.          Height          =   210
  166.          Left            =   120
  167.          TabIndex        =   13
  168.          Top             =   375
  169.          Width           =   1485
  170.       End
  171.    End
  172.    Begin VB.Frame Frame2 
  173.       Caption         =   "Operations"
  174.       Height          =   945
  175.       Left            =   2505
  176.       TabIndex        =   18
  177.       Top             =   3705
  178.       Width           =   4500
  179.    End
  180.    Begin VB.Frame Frame3 
  181.       Caption         =   "Computer "
  182.       Height          =   735
  183.       Left            =   195
  184.       TabIndex        =   19
  185.       Top             =   15
  186.       Width           =   4920
  187.       Begin VB.Label Label1 
  188.          Caption         =   "Name:"
  189.          Height          =   270
  190.          Left            =   255
  191.          TabIndex        =   20
  192.          Top             =   270
  193.          Width           =   750
  194.       End
  195.    End
  196.    Begin VB.Label Label2 
  197.       Caption         =   "Services:"
  198.       Height          =   240
  199.       Left            =   285
  200.       TabIndex        =   8
  201.       Top             =   780
  202.       Width           =   1275
  203.    End
  204. Attribute VB_Name = "frmService"
  205. Attribute VB_GlobalNameSpace = False
  206. Attribute VB_Creatable = False
  207. Attribute VB_PredeclaredId = True
  208. Attribute VB_Exposed = False
  209. '----------------------------------------------------------------------------
  210. '  Microsoft Active Directory 2.5 Sample Code
  211. '  Copyright (C) Microsoft Corporation, 1996 - 1999
  212. '  File: frmService.frm
  213. '  Contents: Display Service's Properties for a given computer.  Start, stop, Pause
  214. '            using IADsServiceOperations
  215. '----------------------------------------------------------------------------
  216. Dim cont As IADsContainer
  217. '--- Defined in winnt.h ----------------
  218. Const SERVICE_BOOT_START = &H0
  219. Const SERVICE_SYSTEM_START = &H1
  220. Const SERVICE_AUTO_START = &H2
  221. Const SERVICE_DEMAND_START = &H3
  222. Const SERVICE_DISABLED = &H4
  223. ' Error control type
  224. Const SERVICE_ERROR_IGNORE = &H0
  225. Const SERVICE_ERROR_NORMAL = &H1
  226. Const SERVICE_ERROR_SEVERE = &H2
  227. Const SERVICE_ERROR_CRITICAL = &H3
  228. Const SERVICE_KERNEL_DRIVER = &H1
  229. Const SERVICE_FILE_SYSTEM_DRIVER = &H2
  230. Const SERVICE_ADAPTER = &H4
  231. Const SERVICE_RECOGNIZER_DRIVER = &H8
  232. Const SERVICE_DRIVER = &HB
  233. Const SERVICE_WIN32_OWN_PROCESS = &H10
  234. Const SERVICE_WIN32_SHARE_PROCESS = &H20
  235. Const SERVICE_WIN32 = &H30
  236. Const SERVICE_INTERACTIVE_PROCESS = &H100
  237. Const ADS_SERVICE_STOPPED = &H1
  238. Const ADS_SERVICE_START_PENDING = &H2
  239. Const ADS_SERVICE_STOP_PENDING = &H3
  240. Const ADS_SERVICE_RUNNING = &H4
  241. Const ADS_SERVICE_CONTINUE_PENDING = &H5
  242. Const ADS_SERVICE_PAUSE_PENDING = &H6
  243. Const ADS_SERVICE_PAUSED = &H7
  244. Const ADS_SERVICE_ERROR = &H8
  245. Private Sub cmdChange_Click()
  246.   ShowComputerDlg
  247.   PopulateService (txtComputer)
  248. End Sub
  249. Private Sub ShowComputerDlg()
  250.   frmConnect.Show vbModal, Me
  251.   If (frmConnect.Tag = "") Then
  252.     txtComputer = "LocalHost"
  253.  Else
  254.     txtComputer = frmConnect.Tag
  255.  End If
  256. End Sub
  257. Private Sub PopulateService(computerStr As String)
  258. On Error Resume Next
  259. lstService.Clear
  260. Set cont = GetObject("WinNT://" & computerStr & ",computer")
  261. cont.Filter = Array("Service")
  262. For Each svc In cont
  263.   lstService.AddItem svc.Name
  264. End Sub
  265. Private Function GetCurrentService() As IADsService
  266.  If (lstService.Text = "") Then
  267.     Set GetCurrentService = Nothing
  268.     Exit Function
  269.  End If
  270.  Set GetCurrentService = cont.GetObject("service", lstService.Text)
  271. End Function
  272. Private Sub cmdPause_Click()
  273. On Error Resume Next
  274. Dim svc As IADsService
  275. Dim svcOp As IADsServiceOperations
  276. Set svc = GetCurrentService()
  277. Set svcOp = svc
  278. svcOp.Pause
  279. 'Refresh the status by simulating user's selection
  280. lstService_Click
  281. End Sub
  282. Private Sub cmdRefresh_Click()
  283.  lstService_Click
  284. End Sub
  285. Private Sub cmdStart_Click()
  286. On Error Resume Next
  287. Dim svc As IADsService
  288. Dim svcOp As IADsServiceOperations
  289. Set svc = GetCurrentService()
  290. Set svcOp = svc
  291. svcOp.Start
  292. 'Refresh the status by simulating user's selection
  293. lstService_Click
  294. End Sub
  295. Private Sub cmdStop_Click()
  296. On Error Resume Next
  297. Dim svc As IADsService
  298. Dim svcOp As IADsServiceOperations
  299. Set svc = GetCurrentService()
  300. Set svcOp = svc
  301. svcOp.Stop
  302. 'Refresh the status by simulating user's selection
  303. lstService_Click
  304. End Sub
  305. Private Sub Form_Load()
  306. ' Call cmdChange to force the user to select computer
  307.  cmdChange_Click
  308. End Sub
  309. Private Sub lstService_Click()
  310. Dim svc As IADsService
  311. Dim svcOps As IADsServiceOperations
  312. Set svc = GetCurrentService()
  313. txtDisplayName = svc.DisplayName
  314. 'Order Group
  315. txtOrderGroup = svc.LoadOrderGroup
  316. Select Case svc.StartType
  317.   Case SERVICE_BOOT_START
  318.     txtStartType = "Boot Start"
  319.   Case SERVICE_SYSTEM_START
  320.     txtStartType = "System Start"
  321.   Case SERVICE_AUTO_START
  322.     txtStartType = "Automatic"
  323.   Case SERVICE_DEMAND_START
  324.     txtStartType = "Manual"
  325.   Case SERVICE_DISABLED
  326.     txtStartType = "Disabled"
  327.   Case Else
  328.     txtStartType = "Unknown"
  329. End Select
  330. 'Error Control
  331. Select Case svc.ErrorControl
  332. Case SERVICE_ERROR_IGNORE
  333.    txtErrorControl = "Service ignores error"
  334. Case SERVICE_ERROR_NORMAL
  335.    txtErrorControl = "No Error"
  336. Case SERVICE_ERROR_SEVERE
  337.  txtErrorControl = "Severe error"
  338. Case SERVICE_ERROR_CRITICAL
  339.  txtErrorControl = "Critical error"
  340. Case Else
  341.   txtErrorControl = "Unknown"
  342. End Select
  343. '-------------------------------------------
  344. ' Service Type
  345. '---------------------------------------------
  346. Select Case svc.ServiceType
  347. Case SERVICE_KERNEL_DRIVER
  348.      txtSvcType = "Kernel Driver"
  349. Case SERVICE_FILE_SYSTEM_DRIVER
  350.      txtSvcType = "File System Driver"
  351. Case SERVICE_ADAPTER
  352.      txtSvcType = "Adapter"
  353. Case SERVICE_RECOGNIZER_DRIVER
  354.      txtSvcType = "Recognizer Driver"
  355. Case SERVICE_WIN32_OWN_PROCESS
  356.      txtSvcType = "Win32 Process"
  357. Case SERVICE_WIN32_SHARE_PROCESS
  358.      txtSvcType = "Win32 Share Process"
  359. Case SERVICE_WIN32
  360.      txtSvcType = "Win32"
  361. Case SERVICE_INTERACTIVE_PROCESS
  362.      txtSvcType = "Interactive Process"
  363. End Select
  364.                                         
  365. '--- Get the Service Status
  366. Set svcOps = svc
  367. Select Case svcOps.Status
  368. Case ADS_SERVICE_STOPPED:
  369.    txtSvcStatus = "Stopped"
  370. Case ADS_SERVICE_START_PENDING:
  371.    txtSvcStatus = "Start Pending"
  372. Case ADS_SERVICE_STOP_PENDING:
  373.    txtSvcStatus = "Stop Pending"
  374. Case ADS_SERVICE_RUNNING:
  375.    txtSvcStatus = "Running"
  376. Case ADS_SERVICE_CONTINUE_PENDING:
  377.   txtSvcStatus = "Continue Pending"
  378. Case ADS_SERVICE_PAUSE_PENDING:
  379.  txtSvcStatus = "Pause Pending"
  380. Case ADS_SERVICE_PAUSED:
  381.  txtSvcStatus = "Paused"
  382. Case ADS_SERVICE_ERROR:
  383.  txtSvcStatus = "Error"
  384. End Select
  385. Set svc = Nothing
  386. Set svcOps = Nothing
  387. End Sub
  388.