Показать полную графическую версию : [решено] Батник отслеживающий и убивающий процесс
Моя рабочая система W8.1 (64)
На ней не работает Ваш код
Все другие батники на этой системе работают хорошо.
Проверил свой же код на W7 64 Прекрасно работает
Ваш оригинал тоже работает хорошо.
В чем же может быть причина неправильной работы на моей W8.1 (64) ?
Обработчик команд Windows C:\Windows\System32\cmd.exe
причина неправильной работы на моей W8.1 (64) ? »
и все же попробуйте с заменой на: >nul ping -n 2 127.0.0.1
может пиратка урезанная какая-то, там такой код что и нечему не работать просто.
не работает
Пишет что "■t" не является внутренней или внешней командой.
W8.1 64 корпоративная
Gragl, упакуйте Ваш получившийся пакетный файл в архив, каковой выложите на DropMeFiles.com.
https://dropmefiles.com/y0tU4
Gragl, это файлы именно с машины с Windows 8.1?
да, с этого компьютера.
проверял их на W7. там работают.
Gragl, спасибо, ясно. Идей нет.
habib2302
28-04-2019, 21:28
как вариант можно сделать на autoit'е с контролем и завершением процесса. При этом процесс опрашивается приблизительно каждые 250 миллисекунд. И потом добавить скрипт в планировщик заданий с запуском скрипта при старте системы
habib2302, это уже есть в теме. Без использования сторонних средств, на WSH.
Благодарю всех за Вашу поддержку!
Буду пользоваться VBS by Iska
Ну тогда ещё вариант на powershell, с возможностью слежения за несколькими процессами, с кнопкой на прекращение слежения (процесс powershell через батник запускается в скрытом режиме):
run.bat
@echo off
powershell -ex bypass -w hidden -c "&{.\script.ps1 'notepad.exe','win32calc.exe'}"
script.ps1
[cmdletbinding()]
param(
# Список на выключение можно задать в командной строке:
# .\script.ps1 'notepad.exe','win32calc.exe'
# или здесь:
[string[]]$process = ('example1.exe','win32calc.exe')
)
add-type -assembly system.windows.forms
function enable-watchevent {
$query = new-object system.management.wqleventquery '__instancecreationevent', `
(new-object timespan 0,0,1),'targetinstance isa "win32_process"'
$processwatcher = new-object system.management.managementeventwatcher $query
$action = {
new-event 'powershell.processcreated' -sender $sender -eventarguments $eventargs.newevent.targetinstance
}
$script:name = 'watchevent'
$script:id = 'powershell.processcreated'
$script:job = register-objectevent -input $processwatcher -eventname `
"eventarrived" -action $action -source $name
}
enable-watchevent
$form = new-object windows.forms.form
$form.autosize = $true
$form.autosizemode = [windows.forms.autosizemode]::growandshrink
$form.formborderstyle = [windows.forms.formborderstyle]::fixedtoolwindow
$form.controlbox = $false
$form.sizegripstyle = [windows.forms.sizegripstyle]::hide
$form.text = 'Продолжить слежение за процессом' + ' ' + $process + '?'
$form.showintaskbar = $false
$form.topmost = $true
$form.startposition = 'CenterScreen'
$btnyes = new-object windows.forms.button
$btnyes.text = 'Да'
$btnyes.location = new-object system.drawing.point(3,10)
$btnyes.dialogresult = [windows.forms.dialogresult]::ok
$form.controls.add($btnyes)
$btnno = new-object windows.forms.button
$btnno.text = 'Нет'
$btnno.location = new-object system.drawing.point(110,10)
$btnno.dialogresult = [windows.forms.dialogresult]::no
$form.controls.add($btnno)
do{
wait-event $id|out-null
if($process -contains ($a = (get-event $id).sourceargs.name)){
write-host Запущен $a
ps $($a -replace '\.[^\n\.]*$')|kill
remove-event $id
$res = $form.showdialog()
} else {
write-host Это не процесс из списка на выключение `((get-event $id).sourceargs.name`)
remove-event $id
}
} while ($res -ne 'No')
if(get-event $id -ea 0){remove-event $id}
get-job $job.name|remove-job -force
YuS_2, «win32calc.exe» — это, случайно, не новое имя исполняемого файла старого доброго Калькулятора под ОС Windows 10?
новое имя исполняемого файла старого доброго Калькулятора под ОС Windows 10? »
оно самое :)
YuS_2, спасибо, ясно. А то я там на днях по привычке сделал Win-R, calc.exe, Enter и был неприятно удивлён результатом.
А то я там на днях по привычке сделал Win-R, calc.exe, Enter и был неприятно удивлён результатом. »
calc.exe тоже присутствует, для обратной совместимости, но это только заглушка для запуска win32calc.exe
в общем, скучать индусы не дадут. :)
YuS_2, стоп. Говоря «старый и добрый», я имел в виду обычный Калькулятор, а не его богомерзкую Modern (или как оно там нынче именуется) инкарнацию:
https://store-images.microsoft.com/image/apps.19928.9007199266248474.fa5af5f2-3973-4844-ae2e-eed362037b6b.2aa7645d-f58a-4249-b132-0f4fa35f8b44
Получается — его больше нет?
а не его богомерзкую Modern (или как оно там нынче именуется) инкарнацию »
не знаю... у меня такой:
https://jpegshare.net/thumbs/4c/49/4c49434d9f7a58c67c683f502b7cc3e8.jpg (https://jpegshare.net/4c/49/4c49434d9f7a58c67c683f502b7cc3e8.png.html)https://jpegshare.net/thumbs/b7/74/b774f678c370c94282d691f25727fb5b.jpg (https://jpegshare.net/b7/74/b774f678c370c94282d691f25727fb5b.png.html)
Хмм… Попробую завтра «пощупать».
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.