закрыть файл hta с vbs не работает?

Я пытаюсь закрыть файл *.hta с помощью vbs, но не могу его закрыть. Я думаю, что следующее будет правильным?

    Set ws=CreateObject("WScript.Shell")
ws.Run "TASKKILL.exe /F /IM 1846.hta"

person LabRat    schedule 09.05.2014    source источник
comment
Пожалуйста, проверьте этот ответ. Это не полный ответ на ваш вопрос, но, возможно, у вас появятся некоторые идеи.   -  person Teemu    schedule 09.05.2014


Ответы (2)


Имя образа работающего .hta — mshta.exe, потому что эта программа содержит скрипт. Вам придется подумать об идентификации желаемого процесса, если запущено более одного .hta.

person Ekkehard.Horner    schedule 09.05.2014

Возможно, сделать что-то вроде этого:

Option Explicit
Call FindProcessbyName("1846.hta")
'**********************************************************************************************
Sub FindProcessbyName(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(objProcess.CommandLine,FileName) > 0 Then
            If Err <> 0 Then
                MsgBox Err.Description,VbCritical,Err.Description
            Else
                objProcess.Terminate(0) 
            End if
        End If
    Next
End Sub
'**********************************************************************************************
person Hackoo    schedule 13.05.2014