Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Контроль работы приложения на уд. компе [D7]


Страницы:   1 2 3

novice ©   (2006-06-05 10:51:00) 

Даже не знаю, с какой стороны подойти к этому вопросу, может и постановка его изначально неверна... Суть такова: на n машинах в сети работает некая программа (моя). Юзеры очень не хотят, чтобы она работала и стараются ее убить (на 9х виндах - легко). Недопустить этого, на мой взгляд, невозможно, но проконтролировать хотелось бы. Как я это представляю: моя программа слушает некий порт. Со своей машины я на этот порт засылаю пакет (тут пока не понятно, считать ли приход на этот порт любого пакета успехом и тогда не заморачиваться его чтением, или же критичным установить содержание), программа на него отвечает (или нет). Если ответа нет, но пинг проходит = программу "убили".


tButton   (2006-06-06 16:40:00) [1]


> в onCloseQuery : Canclose=false;
>
> Но в любом случае и тот и другой код убивается kill'ом

не катит.
OnCloseQuery не обрабатывается =)
получается такой halt(0) извне =)


tesseract   (2006-06-06 14:03:00) [2]


> срабатывает сигнализация - идёшь и убиваешь юзераможно ещё
> в onClose dead loop типа for i:=0 to -1 do записатьтогда
> юзер сам прибежит


в onCloseQuery : Canclose=false;

Но в любом случае и тот и другой код убивается kill'ом


tButton   (2006-06-06 13:48:00) [3]


> 2. for i:=0 to -1 do в любом случае не работает :)
> писать надо while true do ;

ляпнул первое что в голову пришло =)
onCloseQuery тоже не сработает?
или убиение процесса происходит без посылки приложению сообщений?


Dmitrij_K   (2006-06-06 12:00:00) [4]


> можно ещё в onClose dead loop типа for i:=0 to -1 do записать

1. юзер убивает сразу процес, и онклоз не сработает
2. for i:=0 to -1 doв любом случае не работает :)
писать надо while true do ;


tButton   (2006-06-06 11:46:00) [5]


> Идея не в сигнализации, а в неубиваемости.

срабатывает сигнализация - идёшь и убиваешь юзера
можно ещё в onClose dead loop типа for i:=0 to -1 do записать
тогда юзер сам прибежит


Dmitrij_K   (2006-06-06 10:38:00) [6]

См [38] пункт 2
Отличное предложение, не каждый юзверь сможет найти запись в реестре


tesseract   (2006-06-06 09:51:00) [7]


> tButton ©   (06.06.06 09:36) [46]


Идея не в сигнализации, а в неубиваемости.


tButton   (2006-06-06 09:36:00) [8]

вшиваешь в прогу клиент-сокет
в свою - сервер-сокет
при запуске клиент коннектится к серверу
при терминации проги клиент дисконнектится
ловим на сервере onClientDisconnect и врубаем сигнализацию


Пусик   (2006-06-05 23:10:00) [9]


> novice   (05.06.06 11:26) [2]
>
> Ну, во-первых, это уже повод для административных мер, во-
> вторых, повод для сканирования  (тем или иным способом)
> "уличенного" компьютера


Для определения "убивания" программы достаточно простой связи по сокетам. При обрыве связи уже можно принимать административные меры.


tesseract   (2006-06-05 21:35:00) [10]


> Я и не путаю я так одну прогу назвала и втюхала ее к юзеру
> он не смог ее закрыть, причем она не мешала уже запущенному
> lsass.

Втюхала и нормально сделала - вещи разные. И не путай  Юзера  и Windows.
Сколько нибудь продвинутый запустит msconfig и все твои хитрости всплывут.


> К сожалению, вынужден оставить форум - пора домой. Если
> что, я еще вернусь, не против?

Рад был посодействовать теме, а насчёт перекрытия explorer - подумай :-)


novice   (2006-06-05 17:16:00) [11]


> Для меня Win9k - прошлое и слава богу успешно забытое

Win9k = Win9000 - не дай бог дожить :)

К сожалению, вынужден оставить форум - пора домой. Если что, я еще вернусь, не против?


novice   (2006-06-05 17:08:00) [12]


> почему бы просто не скрыть программу из task manager-а?
> не знаешь - не убъёшь. И при закрытии заново прописываться
> в авторан.

Возможно, возможно... Пока предвижу одну сложность - если мне самому надо, чтобы приложение было закрыто, напр., для обновления. Но тут можно выкрутиться: проверять по таймеру наличие "стопового" файла, как только появился - halt.


Topper   (2006-06-05 17:02:00) [13]


> в 98 такого ещё нет.
>
> почему бы просто не скрыть программу из task manager-а?
> не знаешь - не убъёшь. И при закрытии заново прописываться
> в авторан.


в 98 при умирании оболочки она перезапускалась сама, там такое есть

один скачает неродной диспетчер процессов и убъет все равно, если только не будет реализации на уровне перехвата апи функций, но это уже совсем другая тема


Elen   (2006-06-05 16:59:00) [14]


> Не путай сервисы с приложениями, и/или драйверами.

Я и не путаю я так одну прогу назвала и втюхала ее к юзеру он не смог ее закрыть, причем она не мешала уже запущенному lsass.

> Это прокатит в NT, но не в 98.

Для меня Win9k - прошлое и слава богу успешно забытое


tesseract   (2006-06-05 16:58:00) [15]


> кроме того шел обычно сам перезапускается

в 98 такого ещё нет.

почему бы просто не скрыть программу из task manager-а? не знаешь - не убъёшь. И при закрытии заново прописываться в авторан.


Topper   (2006-06-05 16:54:00) [16]

Если я правльно понял, то проблема в том что твою классную программу убивают, а ты бы этого не хотел, так сделай

Идея 1
Сделай в программе по таймеру счетчик своих процессов в системе и если он меньше 2 или 3х, то запуск самого себя до этого количества.

Идея 2
Размести код в dll и внедри его в explorer.exe - юзеры без шела не станут работать, или вообще не поймут что его нужно убивать, кроме того шел обычно сам перезапускается


tesseract   (2006-06-05 16:54:00) [17]


> То есть?


Не путай сервисы с приложениями, и/или драйверами.

Предупреждение с криком "Стёрли/заменили важный файл" появилась в XP.


Elen   (2006-06-05 16:51:00) [18]


> народ , орехи что-то  валом пошли......

То есть?


tesseract   (2006-06-05 16:51:00) [19]

novice, а отруби ка ты им explorer. Как в клубах - нетути ничего, только рабочую папку оставь.


novice   (2006-06-05 16:48:00) [20]

Еще раз повторю для вновь присоединившихся: нет проблем с w2k и XP. Есть проблемы с Вынь98.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо