![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как можно перехватить событие закрытия программы [D7, WinXP]
Nemec © (2006-09-06 20:49:00)Здравствуйте господа! Пишу программу управления компьютерным классом, компьютер клиента должен работать строго определенное время (оплаченное), на компьютере клиента работает программа управляющая им. У пользователей права админов, чтобы могли сами ставить любой софт по сети. Можно ли как-нибудь перехватить попытку закрытия процесса из Диспетчера задач. Тогда можно будет предпринять определенные действия. Программа работает как сервис и как сервис ее не закроешь, но я бессилен против трех пальцев.
Заранее спасибо.
Дракон (2006-11-17 23:18:00) [1]Удалено модератором
Примечание: Offtopic
Ketmar (2006-09-18 14:19:00) [2]> [126] Игорь Шевченко © (18.09.06 14:03)
может и так. давно смотрел. каюсь. %-)
Игорь Шевченко (2006-09-18 14:03:00) [3]Прочитавший ветку (18.09.06 11:39) [124]
> А из каких, тогда соображений перехватывают Zw - функции,
> а не Nt ?
Если кто пройдет TDump'ом по ntdll.dll, то он увидит, что и Zw- и Nt- функции имеют одинаковый адрес. Поэтому выбор семейства функции для перехвата диктуется исключительно религиозными соображениями.
Мой пост [122] относился к дальнейшему пути выполнения этих функций, так как в ntoskrnl.exe тоже существуют Zw- и Nt- функции. Так вот, Zw как раз и вызывают Nt. В ядрес.
Eraser (2006-09-18 11:44:00) [4]> [123] Eraser © (18.09.06 11:37)
> точка входа у этих функций одна
только в пользовательском режиме естественно.
Прочитавший ветку (2006-09-18 11:39:00) [5]Игорь Шевченко © (18.09.06 10:23) [122]
>С точностью до наоборот
А из каких, тогда соображений перехватывают Zw - функции, а не Nt ?
Eraser (2006-09-18 11:37:00) [6]> [122] Игорь Шевченко © (18.09.06 10:23)
на сколько мне известно, точка входа у этих функций одна, просто при вызове nt проверяются параметры, так что трудно сказать кто-кого вызывает. Хотя могу ошибаться, Руссановича давно читал..
Игорь Шевченко (2006-09-18 10:23:00) [7]Ketmar © (17.09.06 10:50) [101]
> потому что Nt в конце-концов всё равно вызывают Zw.
С точностью до наоборот
Nemec (2006-09-18 06:48:00) [8]Удалено модератором
Примечание: Offtopic
Nemec (2006-09-17 23:25:00) [9]Удалено модератором
Примечание: Offtopic
Eraser (2006-09-17 23:21:00) [10]> [117] Nemec © (17.09.06 22:56)
вся документация тут msdn.com, посмотреть методы/свойства классов можно с пом. утилиты WMI CIM Studio.
Nemec (2006-09-17 23:13:00) [11]Удалено модератором
Примечание: Offtopic
Nemec (2006-09-17 22:56:00) [12]>Eraser
Там много функций и объектов которые я до этого в глаза не видел, причем судя по примерам в статье тобой рекомендованой, параметрами методов являются тексты, так что в любом случае придется искать материал, попробую еще раз скачать WMI SDK, но уже MS Internet Explorer, может удастся. Не знаешь может где есть только документация, чтобы меньше качать?
Eraser (2006-09-17 20:18:00) [13]> Жалко, что не скачался WMI SDK
он уже встроен в систему, всмысле Run-Time часть - остальное - заголовочные файлы, которые генерируются Делфи при установке ActiveX компонентов.
Nemec (2006-09-17 19:55:00) [14]Удалено модератором
Примечание: Offtopic
Nemec (2006-09-17 18:16:00) [15]Удалено модератором
Примечание: Offtopic
Nemec (2006-09-17 18:13:00) [16]>Eraser
А где я возьму Active DS Type Library (Version 1.0) и Microsoft WMI Scripting v1.1 Library (Version 1.1) из твоего примера у меня делфи их не показывает, а в статье которую ты дал сказано: установить WMI SDK;
Nemec (2006-09-17 18:10:00) [17]Удалено модератором
Примечание: Offtopic
Nemec (2006-09-17 18:10:00) [18]Удалено модератором
Примечание: Offtopic
Eraser (2006-09-17 17:37:00) [19]Удалено модератором
Примечание: Offtopic
Nemec (2006-09-17 17:06:00) [20]Удалено модератором
Примечание: Offtopic