NT Interactive Service CBT Hook
От: Alexander Vorobyov  
Дата: 11.06.02 06:01
Оценка:
Добрый день, коллеги. Я уже обращался с этим вопросом в одноименный форум "Мастера Delphi" — ответа не последовало, Может тут кто знает: У меня возникла проблемка с интерактивным сервисом (LocalSystem account) при установке CBT ловушки. Когда программа запускается не в режиме сервиса — все работает ОК (под 9X). Под NT (тестировал под NT2000) Hook ставится, но не срабатывает. При этом я использывал динамическую загрузку DLL с Hook'ом. Если предусмотреть стстическую загрузку, наблюдается следующий эффект: при старте сервиса системой (или из Service Manager) Нооk ставится, но не срабатывает, однако если стартовать сервис через StartService от имени текущего пользователя — все начинает работать. Но опять же, загрузка DLL (как статическая так и динамическая) под NT особенна — блокируется попытка использования этой DLL другой программой или второй своей копией. Немного "пошаманив", выяснилось, что можно загрузить DLL и поставить HOOK другой программой (написал небольшую програмку для установки HOOK и стартовал из текущего сеанса), а затем уже стартовать сервис с HOOK'ом, при этом DLL не блокируется, НООК срабатывает, а програмку можно и завершать... Каковы особенности установки HOOK из сервиса и как мне выйти из создавшегося положения ?
p.s. Программа написана на С++ и скомпилирована GCC
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.