Убить приложение (процесс) в панели задач.
Модератор: Дед Пахом
					Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
	При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- 
				gopstop2007
 - Полимат
 - Сообщения: 1841
 - Зарегистрирован: 25 Март 2009, 21:55
 - Благодарил (а): 30 раз
 - Поблагодарили: 10 раз
 
Убить приложение (процесс) в панели задач.
Периодически приложение, которое связывается с удаленным сервером не запускается (в силу многих причин, плохая связь или криворукости пользователей при использования ноутбука) и остается "висеть" в панели задач.
Как с помощью клариона при запуске следующего экземпляра приложение проверять наличие "висящего" приложения в панели задач, убить его и продолжить дальнейшую загрузку или ... (возможны варианты)
Кто сталкивался и знает решения, подскажите пожалуйста.
Спасибо за внимание.
С10 ABC, windows 10
			
			
									
						Как с помощью клариона при запуске следующего экземпляра приложение проверять наличие "висящего" приложения в панели задач, убить его и продолжить дальнейшую загрузку или ... (возможны варианты)
Кто сталкивался и знает решения, подскажите пожалуйста.
Спасибо за внимание.
С10 ABC, windows 10
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
			
						- 
				kreator
 - ✯ Ветеран ✯
 - Сообщения: 5235
 - Зарегистрирован: 28 Май 2009, 15:54
 - Откуда: Москва
 - Благодарил (а): 11 раз
 - Поблагодарили: 26 раз
 
Убить приложение (процесс) в панели задач.
В ABC-Free есть шаблон "apiTerminateProcess". Возможно то.
В шаблоне SV "Add functionality to the frame" есть проверка на уже запущенный экземпляр. Тоже можно посмотреть.
			
			
									
						В шаблоне SV "Add functionality to the frame" есть проверка на уже запущенный экземпляр. Тоже можно посмотреть.
We are hard at work… for you.   
			
						- finsoftrz
 - ✯ Ветеран ✯
 - Сообщения: 5567
 - Зарегистрирован: 06 Ноябрь 2014, 12:48
 - Благодарил (а): 18 раз
 - Поблагодарили: 78 раз
 
Убить приложение (процесс) в панели задач.
Я чаще выношу такой функционал в отдельный exe и запускаю из основного приложения в виде процесса. Если процесс не завершился за заданное время, то основное приложение автоматически прибивает его.
			
			
									
						C6/C12, ШВС, tps/btrieve.
			
						- Дед Пахом
 - Старичок
 - Сообщения: 3346
 - Зарегистрирован: 07 Июль 2005, 16:51
 - Откуда: Москва, Россия
 - Благодарил (а): 20 раз
 - Поблагодарили: 56 раз
 - Контактная информация:
 
Убить приложение (процесс) в панели задач.
Я использую 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
 - ✯ Ветеран ✯
 - Сообщения: 5567
 - Зарегистрирован: 06 Ноябрь 2014, 12:48
 - Благодарил (а): 18 раз
 - Поблагодарили: 78 раз
 
Убить приложение (процесс) в панели задач.
Требует права админа? Как я понял, com интерфейс или через генерацию скрипта.
			
			
									
						C6/C12, ШВС, tps/btrieve.
			
						- Admin
 - Администратор
 - Сообщения: 4022
 - Зарегистрирован: 05 Июль 2005, 15:59
 - Откуда: Хабаровск
 - Благодарил (а): 59 раз
 - Поблагодарили: 42 раза
 - Контактная информация:
 
Убить приложение (процесс) в панели задач.
Тут можно посмотреть. Что то такое делали...
			
							- Вложения
 - 
			
		
		
				
- killbill.zip
 - (18.87 КБ) 296 скачиваний
 
 
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
			
						- Admin
 - Администратор
 - Сообщения: 4022
 - Зарегистрирован: 05 Июль 2005, 15:59
 - Откуда: Хабаровск
 - Благодарил (а): 59 раз
 - Поблагодарили: 42 раза
 - Контактная информация:
 
Убить приложение (процесс) в панели задач.
Пора привыкнуть что Дед Пахом постоянно свой продукт рекламирует.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
			
						- Дед Пахом
 - Старичок
 - Сообщения: 3346
 - Зарегистрирован: 07 Июль 2005, 16:51
 - Откуда: Москва, Россия
 - Благодарил (а): 20 раз
 - Поблагодарили: 56 раз
 - Контактная информация:
 
Убить приложение (процесс) в панели задач.
Я мог бы чей-нибудь ещё продукт прорекламировать, да нет ничего, одни картинки да заплатки.
			
			
									
						С уважением, ДП
			
						- 
				gopstop2007
 - Полимат
 - Сообщения: 1841
 - Зарегистрирован: 25 Март 2009, 21:55
 - Благодарил (а): 30 раз
 - Поблагодарили: 10 раз
 
Убить приложение (процесс) в панели задач.
Спасибо огромное, вроде самое простое. Только как правильно сделать, чтобы работало без проблем. Процедура находиться в основном app.exe файле, при запуске проверяет наличие запущенного app.exe или делается отдельный killbil.ехе который запускается перед запуском основного app.exe?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
			
						- 
				gopstop2007
 - Полимат
 - Сообщения: 1841
 - Зарегистрирован: 25 Март 2009, 21:55
 - Благодарил (а): 30 раз
 - Поблагодарили: 10 раз
 
Убить приложение (процесс) в панели задач.
первое - там еще дополнительно нужно еще по цепочке подключать, второе - не убивает, а просто закрывает приложение.kreator писал(а): 27 Июль 2020, 10:32 В ABC-Free есть шаблон "apiTerminateProcess". Возможно то.
В шаблоне SV "Add functionality to the frame" есть проверка на уже запущенный экземпляр. Тоже можно посмотреть.
Все правильно делаете, где еще как не здесь?! Спасибо за предложение, просто из-за одного kill навешивать...Дед Пахом писал(а): 28 Июль 2020, 8:44 Я мог бы чей-нибудь ещё продукт прорекламировать, да нет ничего, одни картинки да заплатки.
Спасибо, интересная мысль, если бы ничего не предложили пришлось бы этим занятьсяfinsoftrz писал(а): 27 Июль 2020, 11:28 Я чаще выношу такой функционал в отдельный exe и запускаю из основного приложения в виде процесса. Если процесс не завершился за заданное время, то основное приложение автоматически прибивает его.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
			
						- Admin
 - Администратор
 - Сообщения: 4022
 - Зарегистрирован: 05 Июль 2005, 15:59
 - Откуда: Хабаровск
 - Благодарил (а): 59 раз
 - Поблагодарили: 42 раза
 - Контактная информация:
 
Убить приложение (процесс) в панели задач.
Не знаю что вам нужно. У один exe сносит другой.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
			
						- finsoftrz
 - ✯ Ветеран ✯
 - Сообщения: 5567
 - Зарегистрирован: 06 Ноябрь 2014, 12:48
 - Благодарил (а): 18 раз
 - Поблагодарили: 78 раз
 
Убить приложение (процесс) в панели задач.
Вот еще вариант запостили. Оставлю для коллекции.
Делаем файл 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/C12, ШВС, tps/btrieve.
			
						- 
				gopstop2007
 - Полимат
 - Сообщения: 1841
 - Зарегистрирован: 25 Март 2009, 21:55
 - Благодарил (а): 30 раз
 - Поблагодарили: 10 раз
 
Убить приложение (процесс) в панели задач.
возможно правильнее было бы 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 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
			
						