如何杀死特定的HTA基于窗口标题



我有一个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
'**********************************************************************************************

相关内容

  • 没有找到相关文章

最新更新