我有一个HTA文件,文件路径为:c: users me desktop dattable。它的窗口标题为DataTable,在其代码中使用<title>DataTable</title>
我试图关闭这个特定的HTA窗口使用DOS, javascript或vbscript。然而,当我尝试以以下方式使用taskkill时,它不会关闭。它适用于记事本和其他窗口,但不适用于hta。
我输入dos:
taskkill /FI "WINDOWTITLE eq DataTable
什么也没发生。但是如果我使用:
taskkill /FI "WINDOWTITLE eq Untitled - Notepad
它成功关闭记事本。为什么它对hta不起作用?有解决办法吗?
谢谢。
我们假设您正在运行的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 & "rootcimv2")
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
'**********************************************************************************************