Как сделать цикл VBScript незаметным?

0 Shrayus Masanam [2018-10-20 02:22:00]

Поэтому у меня есть файл VBScript (.vbs), который должен убивать mspaint.exe каждые 3 секунды. Вот код:

Dim oShell : Set oShell = CreateObject("WScript.Shell")
do
WScript.Sleep 3000
' Kill paint '
oShell.Run "taskkill /im mspaint.exe", , True
loop

Он работает, однако каждые 3 секунды окно командной строки (или что-то в этом роде) становится активным окном около полутора секунд, а затем закрывается. Это очень раздражает, поскольку я хотел бы, чтобы это запустилось в фоновом режиме, чтобы заблокировать определенную программу. Я не могу этого сделать, поскольку это мешает регулярному использованию компьютера. Есть идеи?

loops block background vbscript


1 ответ


0 Решение CatCat [2018-10-20 03:14:00]

Программисты не запускают пользовательские команды.

Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

Do
    Set colItems = objWMIService.ExecQuery("Select * From Win32_Process")

    For Each objItem in colItems
        If LCase(objItem.name) = "mspaint.exe" then 
                objItem.terminate
        End If
    Next
    WScript.Sleep 3000
Loop