Asp classic 将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?我创建了一个类似的页面,但是它没有按照他们想要的方式工作(你必须点击每个

我得到了一个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"> &nbsp;
 <input type="button" value="Start"   name="btn_start"   id="btn_start"   title="Click to Start the Services"> &nbsp;
 <input type="button" value="Stop"    name="btn_stop"    id="btn_stop"    title="Click to Stop the Service"> &nbsp;
 <input type="button" value="Restart" name="btn_restart" id="btn_restart" title="Click to Restart the Services"> &nbsp;
 <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>