windows-nt/Source/XPSP1/NT/admin/activec/test/script/lvpropsheet.vbs

117 lines
2.8 KiB
Plaintext
Raw Normal View History

2020-09-26 03:20:57 -05:00
'
L_Welcome_MsgBox_Message_Text = "This script demonstrates how to access snapin property sheets from scriptable objects."
L_Welcome_MsgBox_Title_Text = "Windows Scripting Host Sample"
Call Welcome()
' ********************************************************************************
Dim mmc
Dim doc
Dim snapins
Dim frame
Dim views
Dim view
Dim scopenamespace
Dim rootnode
Dim Nodes
Dim scopenode
Dim SnapNode
Dim ResultItem
Dim MySnapin
' Following are snapin exposed objects.
Dim ScopeNodeObject
Dim ResultItemObject
'get the various objects we'll need
Set mmc = wscript.CreateObject("MMC20.Application")
Set frame = mmc.Frame
Set doc = mmc.Document
Set namespace = doc.ScopeNamespace
Set rootnode = namespace.GetRoot
Set views = doc.views
Set view = views(1)
Set snapins = doc.snapins
set WshShell = CreateObject("WScript.Shell")
snapins.Add "{58221c66-ea27-11cf-adcf-00aa00a80033}" ' the services snap-in
snapins.Add "{975797FC-4E2A-11D0-B702-00C04FD8DBF7}" ' eventlog snapin
' Get rootnode of the snapin
Set SnapNode1 = namespace.GetChild(rootnode)
view.ActiveScopeNode = SnapNode1
' Show properties of some services.
Call EnumerateAndShowProperties(view, SnapNode1)
' Now select eventlog snapin root, its scopenodes are in resultpane
Set SnapNode1 = namespace.GetNext(SnapNode1)
view.ActiveScopeNode = SnapNode1
' Show their (Application Log,...) properties.
Call EnumerateAndShowProperties(view, SnapNode1)
' Now select Application Log and show its properties.
Set SnapNode1 = namespace.GetChild(SnapNode1)
view.ActiveScopeNode = SnapNode1
view.DisplayScopeNodePropertySheet
WScript.Sleep 1000
WshShell.SendKeys "{ESC}" ' Close the prop sheet
' Now show the properties of LV items (VList)
Call EnumerateAndShowProperties(view, SnapNode1)
Set mmc = Nothing
' ********************************************************************************
' *
' * Welcome
' *
Sub Welcome()
Dim intDoIt
intDoIt = MsgBox(L_Welcome_MsgBox_Message_Text, _
vbOKCancel + vbInformation, _
L_Welcome_MsgBox_Title_Text )
If intDoIt = vbCancel Then
WScript.Quit
End If
End Sub
' ********************************************************************************
' *
' * EnumerateAndShowProperties
' *
Sub EnumerateAndShowProperties(view, SnapNode1)
Dim ResultItem
Dim Nodes
Set Nodes = view.ListItems
i = 0
' Now enumerate result pane items and ask for prop sheet
For Each ResultItem In Nodes
view.Select ResultItem
view.DisplaySelectionPropertySheet
WScript.Sleep 1000
WshShell.SendKeys "{ESC}" ' Close the prop sheet
view.Deselect ResultItem
i = i + 1
If i > 4 Then
Exit For
End If
Next
WshShell.SendKeys "{ESC}" ' Close the prop sheet
' view.SelectAll
End Sub