Asp classic 将HTA转换为ASP页面?
我得到了一个HTA,我认为它是由HTA_Helpomatic创建的。他们想把它转换成一个经典的ASP页面。所以我做了一些基本的改变,我想我几乎让它工作了。但我遇到了一个问题-ole“VBScript对象必需”位。它在Set objlst_groupnames=document.getElementById(“list_servicenames”)行上执行此操作 这是原始的HTA脚本-谁能帮我弄清楚如何正确地将其转换为ASP?我创建了一个类似的页面,但是它没有按照他们想要的方式工作(你必须点击每个服务来切换它,而不是仅仅点击一个复选框)。谢谢Asp classic 将HTA转换为ASP页面?,asp-classic,vbscript,hta,Asp Classic,Vbscript,Hta,我得到了一个HTA,我认为它是由HTA_Helpomatic创建的。他们想把它转换成一个经典的ASP页面。所以我做了一些基本的改变,我想我几乎让它工作了。但我遇到了一个问题-ole“VBScript对象必需”位。它在Set objlst_groupnames=document.getElementById(“list_servicenames”)行上执行此操作 这是原始的HTA脚本-谁能帮我弄清楚如何正确地将其转换为ASP?我创建了一个类似的页面,但是它没有按照他们想要的方式工作(你必须点击每个
启动/停止/重新启动Windows服务
子窗口加载
Set objlst_groupnames=document.getElementById(“列表_服务名称”)
如果objlst_groupnames不算什么,那么
MsgBox“创建listview时遇到问题。”&vbCRLF&“请与管理员联系。”
其他的
使用objlst_组名
.View=3
.宽度=800
.高度=600
.SortKey=0
.Arrange=0
.LabelEdit=1
.SortOrder=0
.已排序=1
.MultiSelect=0
.LabelWrap=-1
.HideSelection=-1
.HideColumnHeaders=0
.OLEDFragmode=0
.OLEDropMode=0
.复选框=1
.FlatScrollBar=0
.FullRowSelect=1
.GridLines=0
.HotTracking=0
.HoverSelection=0
.PictureAignment=0
.TextBackground=0
.ForeColor=-2147483640
.BackColor=-2147483643
.BorderStyle=1
.外观=1
.MousePointer=0
.Enabled=1
.column.Clear
.ColumnHeaders.Add,“标题”,150
.ColumnHeaders.Add,“State”,150
.ColumnHeaders.Add,“Name”,150
.ColumnHeaders.Add,“说明”,150
.ColumnHeaders.Add,“启动模式”,150
.ListItems.Clear
以
如果结束
sComputer=MachineName.Value
ListServices(电子计算机)
端接头
子列表服务(电子计算机)
出错时继续下一步
sServiceName=ServiceName.Value
Set objList=document.getElementById(“列表\服务名称”)
objList.ListItems.Clear
设置objWMIService=GetObject(“winmgmts:{impersonationLevel=impersonate}!\\”&scocomputer&“\root\cimv2”)
如果sServiceName=“”,则
Set colItems=objWMIService.ExecQuery(“从Win32_服务中选择*)
其他的
Set colItems=objWMIService.ExecQuery(“从Win32_服务中选择*,其中DisplayName类似“%”和“服务名&%”)
如果结束
对于每个对象,在colitem中
设置objListItem=objList.ListItems.Add
objListItem.Text=objItem.Caption
objListItem.ListSubItems.Add.Text=objItem.State
objListItem.ListSubItems.Add.Text=objItem.Name
objListItem.ListSubItems.Add.Text=objItem.Description
objListItem.ListSubItems.Add.Text=objItem.StartMode
下一个
端接头
子btn_开始_点击()
sComputer=MachineName.Value
对于n=1,列出\u servicenames.ListItems.Count
如果list_servicenames.ListItems(n).checked=True,则
strService=list\u servicenames.ListItems(n).ListSubItems(2).Text
设置objWMIService=GetObject(“winmgmts:{impersonationLevel=impersonate}!\\”&scocomputer&“\root\cimv2”)
设置colServiceList=objWMIService.ExecQuery(“从Win32_服务中选择*,其中Name=”&strService&“”)
对于colServiceList中的每个objService
errReturn=objService.StartService()
下一个
如果结束
下一个
ListServices(电子计算机)
端接头
子btn\u停止\u点击()
sComputer=MachineName.Value
对于n=1,列出\u servicenames.ListItems.Count
如果list_servicenames.ListItems(n).checked=True,则
strService=list\u servicenames.ListItems(n).ListSubItems(2).Text
设置objWMIService=GetObject(“winmgmts:{impersonationLevel=impersonate}!\\”&scocomputer&“\root\cimv2”)
设置colServiceList=objWMIService.ExecQuery(“从Win32_服务中选择*,其中Name=”&strService&“”)
对于colServiceList中的每个objService
errReturn=objService.StopService()
下一个
如果结束
下一个
ListServices(电子计算机)
端接头
子btn_重新启动_onClick()
sComputer=MachineName.Value
"停止服务",
对于n=1,列出\u servicenames.ListItems.Count
如果list_servicenames.ListItems(n).checked=True,则
strService=list\u servicenames.ListItems(n).ListSubItems(2).Text
设置objWMIService=GetObject(“winmgmts:{impersonationLevel=impersonate}!\\”&scocomputer&“\root\cimv2”)
设置colServiceList=objWMIService.ExecQuery(“从Win32_服务中选择*,其中Name=”&strService&“”)
对于colServiceList中的每个objService
errReturn=objService.StopService()
下一个
如果结束
下一个
"启动服务",
对于n=1,列出\u servicenames.ListItems.Count
如果list_servicenames.ListItems(n).checked=True,则
strService=list\u servicenames.ListItems(n).ListSubItems(2).Text
设置objWMIService=GetObject(“winmgmts:{impersonationLevel=impersonate}!\\”&scocomputer&“\root\cimv2”)
设置colServiceList=objWMIService.ExecQuery(“从Win32_服务中选择*,其中Name=”&strService&“”)
对于colServiceList中的每个objService
errReturn=objService.StartService()
下一个
如果结束
下一个
ListServices(电子计算机)
端接头
子btn_刷新_onClick()
sComputer=MachineName.Value
ListServices(电子计算机)
端接头
子btn_出口_onClick()
窗户,关上
端接头
功能列表\u服务名称\u列单击(列标题)
list_servicenames.SortKey=colheader.index-1
端函数
输入计算机名称:
按名称筛选服务:
要获取客户端单击事件以激活服务器上的某些内容,必须使用AJAX之类的工具。“他们”希望此操作从ASP运行,而不是从ASP运行
<head>
<title>Start/Stop/Restart Windows Services</title>
<HTA:APPLICATION
APPLICATIONNAME="Start/Stop/Restart Windows Services"
BORDER="thin"
SCROLL="yes"
SINGLEINSTANCE="yes"
ID="oHTA"
>
<APPLICATION:HTA>
</head>
<script language="VBScript">
Sub Window_OnLoad
Set objlst_groupnames = document.getElementById( "list_servicenames" )
If objlst_groupnames Is Nothing Then
MsgBox "A problem was encountered while creating the listview." & vbCRLF & "Please see your administrator."
Else
With objlst_groupnames
.View = 3
.Width = 800
.Height = 600
.SortKey = 0
.Arrange = 0
.LabelEdit = 1
.SortOrder = 0
.Sorted = 1
.MultiSelect = 0
.LabelWrap = -1
.HideSelection = -1
.HideColumnHeaders = 0
.OLEDragMode = 0
.OLEDropMode = 0
.Checkboxes = 1
.FlatScrollBar = 0
.FullRowSelect = 1
.GridLines = 0
.HotTracking = 0
.HoverSelection = 0
.PictureAlignment = 0
.TextBackground = 0
.ForeColor = -2147483640
.BackColor = -2147483643
.BorderStyle = 1
.Appearance = 1
.MousePointer = 0
.Enabled = 1
.ColumnHeaders.Clear
.ColumnHeaders.Add , , "Caption", 150
.ColumnHeaders.Add , , "State", 150
.ColumnHeaders.Add , , "Name", 150
.ColumnHeaders.Add , , "Description", 150
.ColumnHeaders.Add , , "Start Mode", 150
.ListItems.Clear
End With
End If
sComputer = MachineName.Value
ListServices(sComputer)
End Sub
Sub ListServices(sComputer)
ON ERROR RESUME NEXT
sServiceName = ServiceName.Value
Set objList = document.getElementById( "list_servicenames" )
objList.ListItems.Clear
set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
if sServiceName = "" then
Set colItems = objWMIService.ExecQuery("Select * from Win32_Service")
else
Set colItems = objWMIService.ExecQuery("Select * From Win32_Service where DisplayName like '%" & sServiceName & "%'")
end if
For Each objItem in colItems
Set objListItem = objList.ListItems.Add
objListItem.Text = objItem.Caption
objListItem.ListSubItems.Add.Text = objItem.State
objListItem.ListSubItems.Add.Text = objItem.Name
objListItem.ListSubItems.Add.Text = objItem.Description
objListItem.ListSubItems.Add.Text = objItem.StartMode
Next
End Sub
Sub btn_start_onClick()
sComputer = MachineName.Value
for n = 1 to list_servicenames.ListItems.Count
if list_servicenames.ListItems(n).checked = True then
strService = list_servicenames.ListItems(n).ListSubItems(2).Text
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery ("Select * from Win32_Service where Name='" & strService & "'")
For each objService in colServiceList
errReturn = objService.StartService()
Next
end if
next
ListServices(sComputer)
End Sub
Sub btn_stop_onClick()
sComputer = MachineName.Value
for n = 1 to list_servicenames.ListItems.Count
if list_servicenames.ListItems(n).checked = True then
strService = list_servicenames.ListItems(n).ListSubItems(2).Text
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery ("Select * from Win32_Service where Name='" & strService & "'")
For each objService in colServiceList
errReturn = objService.StopService()
Next
end if
next
ListServices(sComputer)
End Sub
Sub btn_restart_onClick()
sComputer = MachineName.Value
'Stop services
for n = 1 to list_servicenames.ListItems.Count
if list_servicenames.ListItems(n).checked = True then
strService = list_servicenames.ListItems(n).ListSubItems(2).Text
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery ("Select * from Win32_Service where Name='" & strService & "'")
For each objService in colServiceList
errReturn = objService.StopService()
Next
end if
next
'Start services
for n = 1 to list_servicenames.ListItems.Count
if list_servicenames.ListItems(n).checked = True then
strService = list_servicenames.ListItems(n).ListSubItems(2).Text
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery ("Select * from Win32_Service where Name='" & strService & "'")
For each objService in colServiceList
errReturn = objService.StartService()
Next
end if
next
ListServices(sComputer)
End Sub
Sub btn_Refresh_onClick()
sComputer = MachineName.Value
ListServices(sComputer)
End Sub
Sub btn_exit_onClick()
Window.Close
End Sub
function list_servicenames_ColumnClick(colheader)
list_servicenames.SortKey = colheader.index-1
end Function
</script>
<body>
Enter Machine Name: <Input Type = "Text" Name = "MachineName">
<Input Type = "Button" Value = "Get Services" Name = "Run_Button" onClick = "Window_OnLoad"> Filter Services by Name: <Input Type = "Text" Name = "ServiceName"><P>
<input type="button" value="Refresh" name="btn_Refresh" id="btn_Refresh" title="Click to refresh the services list">
<input type="button" value="Start" name="btn_start" id="btn_start" title="Click to Start the Services">
<input type="button" value="Stop" name="btn_stop" id="btn_stop" title="Click to Stop the Service">
<input type="button" value="Restart" name="btn_restart" id="btn_restart" title="Click to Restart the Services">
<input type="button" value="Exit" name="btn_exit" id="btn_exit" title="Click to Exit Form ">
<br/>
<OBJECT id="list_servicenames" name="list_servicenames" classid="clsid:BDD1F04B-858B-11D1-B16A-00C0F0283628"></OBJECT>
</body>