我有一个带文件路径的HTA文件:C:\ Users \ ME \ Desktop \ DataTable.hta,其窗口标题为 DataTable ,在其代码中使用<title>DataTable</title>
<声明/ p>
我试图使用DOS,javascript或vbscript关闭这个特定的HTA窗口。但是,当我尝试以下列方式使用taskkill时,它并没有关闭。它适用于记事本和其他窗口,但不适用于HTA。
我输入dos:
taskkill /FI "WINDOWTITLE eq DataTable
没有任何反应。但如果我使用:
taskkill /FI "WINDOWTITLE eq Untitled - Notepad
它成功关闭了记事本。为什么它不适用于HTA?有解决方案吗?
谢谢。
答案 0 :(得分:2)
我们假设您使用此名称运行HTA: DataTable.hta 。
所以,我们可以使用像这样的vbscript来杀死这个HTA:
Option Explicit
Call KillProcessbyName("DataTable.hta")
'**********************************************************************************************
Sub KillProcessbyName(FileName)
On Error Resume Next
Dim WshShell,strComputer,objWMIService,colProcesses,objProcess
Set WshShell = CreateObject("Wscript.Shell")
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
For Each objProcess in colProcesses
If InStr(UCase(objProcess.CommandLine),UCase(FileName)) > 0 Then
If Err <> 0 Then
MsgBox Err.Description,VbCritical,Err.Description
Else
objProcess.Terminate(0)
End if
End If
Next
End Sub
'**********************************************************************************************