|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.05.2009, 23:01 | #1 |
Форумчанин
Регистрация: 01.12.2007
Сообщений: 346
|
Два неубиваемых exe'шника
Смысл в том, что в одной папке например есть два исполняемых файла a.exe и b.exe, с помощью автозагрузки они оба запускаются, и нужно сделать так, что бы каждый процесс a и b следили друг за другом и при случае не обнуружения второго первый его автоматически запускал.
Т.е. например если пользователь выключил процесс a.exe, процесс b.exe его заного запускает и наоборот.
Win 10 x64 | VS 2015 | MSSQL 2014
autovestitv.ru |
18.05.2009, 23:16 | #2 |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
Можете сделать так:
Код:
Всегда рад помочь!
|
21.05.2009, 21:30 | #3 |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
Имя окна может измениться если у пользователя проблемы со шрифтами, добавь проверку по имени процесса. Если не в памяти, то запустить.
И не забудь, что пользователь может переименовать a.exe и b.exe, поставь постоянную проверку имён, чтоб проги знали, что грузить в следующий раз. А что бы убить их, достаточно закрыть одновременно. (ну или почти одновременно)
Всё гениальное - просто!
|
21.05.2009, 23:08 | #4 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
А если их вдвоём сразу завершить, оно успеет сработать? Например AnVir Task Manager может сразу несколько процессов завершать.
|
21.05.2009, 23:18 | #5 |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
если проверка стоит на 1-10 мкс то может и не успеет.
P.S. можно сделать 3 проги для уверенности
Всё гениальное - просто!
|
22.05.2009, 01:14 | #6 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
А лучше 5 Делать что-то "по таймеру" не самое лучшее решение, практически всегда есть способ отследить нужный момент для выполнения действия.
CreateProcess -> WaitForSingleObject -> GetExitCodeProcess пример тут http://programmersforum.ru/showthread.php?t=44773
пыщь
|
22.05.2009, 13:16 | #7 |
Форумчанин
Регистрация: 01.12.2007
Сообщений: 346
|
Сейчас с этим загвоздка произошла но вроде справлюсь, смысл в том что в автозапуск поставил эти два файла и после загрузки системы они сами себя начинают грузить по нескольку раз а там еще и таймер короче переполнение памяти и комп в паралич, надо наверно один процесс поставить на автозагрузку.
Очень хочется конечно без таймеров, но пока нужно быстрое решение, по тому как компьютеры слабые. Пользователь наврятли найдет эти два exe'шника, сделал их системно скрытыми. ShellExecute заменил на WinExec что бы работало даже при отсутствии DirectX. Но там без таймера все равно не получится (кажется), т.к. первая "главная" программа каждые 0,5с. ищет "третий" процесс и убивает его, если он есть.
Win 10 x64 | VS 2015 | MSSQL 2014
autovestitv.ru |
22.05.2009, 13:21 | #8 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
ИМХО, плохая идея... Наступал я уж на эти грабли... выход такой: 1. Либо службу делать 2. Либо запускать процессы с правами, запрещающими их закрывать кому-попало и не попало Цитата:
I'm learning to live...
|
||
22.05.2009, 16:37 | #9 | |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Цитата:
Выкинь таймеры и смотри код в примере выше
пыщь
|
|
22.05.2009, 18:29 | #10 | |
Форумчанин
Регистрация: 01.12.2007
Сообщений: 346
|
Учитывая, что код здесь только один, именно в нем и заменял Шел на Вин, ибо там (на рабочих машинках) напрочь извыкарежен DirectX и Шел процедуры на них не работают.
Цитата:
2. Вариант с правами неубиваемог процесса это вообще идеально, но как так запускать, темболее программно не знаю. Все эти люди как на ладони и более того советуются со мной как это сломать не подозревая, что разговаривают с создателем чудофишки, так, что любой косяк я могу найти почти оперативно и внести изменения в конструкцию программной системы, хотя напряжно об этом думать, по этому приходится все расчитывать на два шага вперед и на не грамотность пользователей .
Win 10 x64 | VS 2015 | MSSQL 2014
autovestitv.ru |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Два форума | NITRO2025 | О форуме и сайтах клуба | 3 | 19.05.2009 16:52 |
Два вопроса | Никки | Общие вопросы Delphi | 2 | 19.01.2008 21:39 |
два TMediaPlayer и два AVI-файла | zeleniy | Компоненты Delphi | 0 | 01.06.2007 14:14 |
Два в одном | ZhekON | Общие вопросы Delphi | 1 | 01.03.2007 23:54 |
Два в одном | шолku | Общие вопросы Delphi | 4 | 17.12.2006 12:05 |