Убить приложение (процесс) в панели задач.
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Убить приложение (процесс) в панели задач.
Периодически приложение, которое связывается с удаленным сервером не запускается (в силу многих причин, плохая связь или криворукости пользователей при использования ноутбука) и остается "висеть" в панели задач.
Как с помощью клариона при запуске следующего экземпляра приложение проверять наличие "висящего" приложения в панели задач, убить его и продолжить дальнейшую загрузку или ... (возможны варианты)
Кто сталкивался и знает решения, подскажите пожалуйста.
Спасибо за внимание.
С10 ABC, windows 10
Как с помощью клариона при запуске следующего экземпляра приложение проверять наличие "висящего" приложения в панели задач, убить его и продолжить дальнейшую загрузку или ... (возможны варианты)
Кто сталкивался и знает решения, подскажите пожалуйста.
Спасибо за внимание.
С10 ABC, windows 10
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Убить приложение (процесс) в панели задач.
В ABC-Free есть шаблон "apiTerminateProcess". Возможно то.
В шаблоне SV "Add functionality to the frame" есть проверка на уже запущенный экземпляр. Тоже можно посмотреть.
В шаблоне SV "Add functionality to the frame" есть проверка на уже запущенный экземпляр. Тоже можно посмотреть.
We are hard at work… for you.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Убить приложение (процесс) в панели задач.
Я чаще выношу такой функционал в отдельный exe и запускаю из основного приложения в виде процесса. Если процесс не завершился за заданное время, то основное приложение автоматически прибивает его.
C6/C11, ШВС, tps/btrieve.
- Дед Пахом
- Старичок
- Сообщения: 3133
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Убить приложение (процесс) в панели задач.
Я использую wmi:
Код: Выделить всё
!- найдём процессы с именем pProcess
wmi.ExecQuery(printf('Select * from Win32_Process WHERE Caption=%S', pProcess))
!- убъём их всех
LOOP i=1 TO wmi.items.Count()
wmi.items.CallMethod(i, 'Terminate')
END
С уважением, ДП
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Убить приложение (процесс) в панели задач.
Требует права админа? Как я понял, com интерфейс или через генерацию скрипта.
C6/C11, ШВС, tps/btrieve.
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Убить приложение (процесс) в панели задач.
Тут можно посмотреть. Что то такое делали...
- Вложения
-
- killbill.zip
- (18.87 КБ) 199 скачиваний
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Убить приложение (процесс) в панели задач.
Пора привыкнуть что Дед Пахом постоянно свой продукт рекламирует.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Дед Пахом
- Старичок
- Сообщения: 3133
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Убить приложение (процесс) в панели задач.
Я мог бы чей-нибудь ещё продукт прорекламировать, да нет ничего, одни картинки да заплатки.
С уважением, ДП
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Убить приложение (процесс) в панели задач.
Спасибо огромное, вроде самое простое. Только как правильно сделать, чтобы работало без проблем. Процедура находиться в основном app.exe файле, при запуске проверяет наличие запущенного app.exe или делается отдельный killbil.ехе который запускается перед запуском основного app.exe?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Убить приложение (процесс) в панели задач.
первое - там еще дополнительно нужно еще по цепочке подключать, второе - не убивает, а просто закрывает приложение.
Все правильно делаете, где еще как не здесь?! Спасибо за предложение, просто из-за одного kill навешивать...
Спасибо, интересная мысль, если бы ничего не предложили пришлось бы этим заняться
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Убить приложение (процесс) в панели задач.
Не знаю что вам нужно. У один exe сносит другой.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Убить приложение (процесс) в панели задач.
Вот еще вариант запостили. Оставлю для коллекции.
Делаем файл taskkill.bat со следующим содержанием.
Вызываем из своего кода.
Делаем файл taskkill.bat со следующим содержанием.
Код: Выделить всё
@echo off
c:\windows\system32\taskkill.exe /IM %1.exe /F /FI "STATUS EQ RUNNING" > nul
exit
Код: Выделить всё
run('cmd /c start /min taskkill.bat ' & myPrgName)
C6/C11, ШВС, tps/btrieve.
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Убить приложение (процесс) в панели задач.
возможно правильнее было бы taskkill.cmdfinsoftrz писал(а): ↑06 Июль 2021, 16:23 Вот еще вариант запостили. Оставлю для коллекции.
Делаем файл taskkill.bat со следующим содержанием.Вызываем из своего кода.Код: Выделить всё
@echo off c:\windows\system32\taskkill.exe /IM %1.exe /F /FI "STATUS EQ RUNNING" > nul exit
Код: Выделить всё
run('cmd /c start /min taskkill.bat ' & myPrgName)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп