mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
163 lines
4.0 KiB
163 lines
4.0 KiB
Attribute VB_Name = "Module1"
|
|
Global Const LISTVIEW_BUTTON = 11
|
|
|
|
Public fMainForm As frmMain
|
|
|
|
|
|
Sub Main()
|
|
frmSplash.Show
|
|
frmSplash.Refresh
|
|
|
|
Set fMainForm = New frmMain
|
|
Load fMainForm
|
|
Unload frmSplash
|
|
|
|
|
|
fMainForm.Show
|
|
End Sub
|
|
|
|
|
|
|
|
Sub LoadResStrings(frm As Form)
|
|
On Error Resume Next
|
|
|
|
|
|
Dim ctl As Control
|
|
Dim obj As Object
|
|
Dim fnt As Object
|
|
Dim sCtlType As String
|
|
Dim nVal As Integer
|
|
|
|
|
|
'set the form's caption
|
|
frm.Caption = LoadResString(CInt(frm.Tag))
|
|
|
|
|
|
'set the font
|
|
Set fnt = frm.Font
|
|
fnt.Name = LoadResString(20)
|
|
fnt.Size = CInt(LoadResString(21))
|
|
|
|
|
|
'set the controls' captions using the caption
|
|
'property for menu items and the Tag property
|
|
'for all other controls
|
|
For Each ctl In frm.Controls
|
|
Set ctl.Font = fnt
|
|
sCtlType = TypeName(ctl)
|
|
If sCtlType = "Label" Then
|
|
ctl.Caption = LoadResString(CInt(ctl.Tag))
|
|
ElseIf sCtlType = "Menu" Then
|
|
ctl.Caption = LoadResString(CInt(ctl.Caption))
|
|
ElseIf sCtlType = "TabStrip" Then
|
|
For Each obj In ctl.Tabs
|
|
obj.Caption = LoadResString(CInt(obj.Tag))
|
|
obj.ToolTipText = LoadResString(CInt(obj.ToolTipText))
|
|
Next
|
|
ElseIf sCtlType = "Toolbar" Then
|
|
For Each obj In ctl.Buttons
|
|
obj.ToolTipText = LoadResString(CInt(obj.ToolTipText))
|
|
Next
|
|
ElseIf sCtlType = "ListView" Then
|
|
For Each obj In ctl.ColumnHeaders
|
|
obj.Text = LoadResString(CInt(obj.Tag))
|
|
Next
|
|
Else
|
|
nVal = 0
|
|
nVal = Val(ctl.Tag)
|
|
If nVal > 0 Then ctl.Caption = LoadResString(nVal)
|
|
nVal = 0
|
|
nVal = Val(ctl.ToolTipText)
|
|
If nVal > 0 Then ctl.ToolTipText = LoadResString(nVal)
|
|
End If
|
|
Next
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Sub PopulateTree(ByRef TreeCtl As TreeView, ByVal Path As String)
|
|
|
|
Dim mb As IMSMetaBase
|
|
Set mb = CreateObject("IISAdmin.Object")
|
|
Dim i As Long
|
|
Dim bytePath() As Byte
|
|
Dim mk As IMSMetaKey
|
|
|
|
Rem Dim tmpPath() As Byte
|
|
|
|
On Error Resume Next
|
|
|
|
Debug.Print ("Adding " & Path)
|
|
|
|
i = 0
|
|
|
|
Set mk = mb.OpenKey(dwAccessRequested:=1, vaTimeOut:=100)
|
|
|
|
If (Err.Number <> 0) Then
|
|
Debug.Print ("Enum Object Error Code = " & Err.Number)
|
|
Err.Clear
|
|
Exit Sub
|
|
End If
|
|
|
|
Do
|
|
' Convert the Basic string to an ANSI byte array and
|
|
' open this path
|
|
|
|
bytePath = StrConv(Path & Chr(0), vbFromUnicode)
|
|
mk.EnumKeys pvaName:=tmpPath, dwEnumObjectIndex:=i, pvaPath:=bytePath
|
|
|
|
If (Err.Number < 0) Then
|
|
Debug.Print ("Enum Object Error Code = " & Err.Number)
|
|
Err.Clear
|
|
Exit Do
|
|
End If
|
|
|
|
' Convert the returned byte array to a string
|
|
|
|
Dim Tmp As String
|
|
|
|
Tmp = ""
|
|
j = 0
|
|
Do While (tmpPath(j) > 0)
|
|
Tmp = Tmp & Chr(tmpPath(j))
|
|
j = j + 1
|
|
Loop
|
|
|
|
' Add this node to the tree
|
|
|
|
NewPath = Path & Tmp & "/"
|
|
|
|
' Make sure the root virtual directory isn't blank
|
|
|
|
If (Tmp = "") Then
|
|
Tmp = "/"
|
|
End If
|
|
|
|
Err.Clear ' Some adds result in a non-fatal error 424
|
|
Dim Nodx As Node ' Declare Node variable.
|
|
Set Nodx = TreeCtl.Nodes.Add(Path, tvwChild, NewPath, Tmp)
|
|
|
|
If (Err.Number <> 0) Then
|
|
Debug.Print ("Adding Node to tree Error Code = " & Err.Number & " " & Err.Description)
|
|
Err.Clear
|
|
Rem Exit Do
|
|
End If
|
|
|
|
' Recursively traverse this path and show and expanded tree
|
|
|
|
PopulateTree TreeCtl, NewPath
|
|
Nodx.Expanded = True
|
|
|
|
i = i + 1
|
|
Loop While (True)
|
|
|
|
mk.Close
|
|
|
|
If (Err.Number <> 0) Then
|
|
Debug.Print ("Error closing handle = " & Err.Number & " " & Err.Description)
|
|
Err.Clear
|
|
Rem Exit Do
|
|
End If
|
|
|
|
End Sub
|