Я пытаюсь закрыть файл *.hta с помощью vbs, но не могу его закрыть. Я думаю, что следующее будет правильным?
Set ws=CreateObject("WScript.Shell")
ws.Run "TASKKILL.exe /F /IM 1846.hta"
Я пытаюсь закрыть файл *.hta с помощью vbs, но не могу его закрыть. Я думаю, что следующее будет правильным?
Set ws=CreateObject("WScript.Shell")
ws.Run "TASKKILL.exe /F /IM 1846.hta"
Имя образа работающего .hta — mshta.exe, потому что эта программа содержит скрипт. Вам придется подумать об идентификации желаемого процесса, если запущено более одного .hta.
Возможно, сделать что-то вроде этого:
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
'**********************************************************************************************