| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Локальная ловушка |
| Автор: Voyager 1.9.2005, 18:43 | ||
| Не надо сразу отсылать в поиск, я несколько суток искал решение проблемы, прежде чем осмелился задать вопрос Решаю проблему такого плана: Мне надо поставить хук на открытие/чтение файла определенным приложением. Неоднократно перерыл форум и интернет, но поиски мало что дали, везде описывается как ставить глобальный хук, а про локальный лишь пара слов
Выяснил только что локальную ловушку можно ставить в самой программе (без дополнительной dll), вместо hmod тогда нужно указывать 0 (поправьте если не так), а вот что делать с idHook и dwThreadID пока непонятно. Знаю, что можно создать поток, но все попытки реализовать это пока выдавали ошибки Может кто сможет подкинуть ссылки или хотя бы сказать, как вставить в функцию процесс и какой тип ловушки указывать? Вкратце опишу для чего я это делаю: Есть игра, программа, которую я пишу, ее запускает (создает процесс), и отлавливает все обращения игры к файлам, то есть если в игре выполняется скрипт, например "loadfile "filename"" (который возвращает строковое содержимое файла filename), то мне надо перехватить обращение к файлу, и если он не существует, то вернуть свою строку (получится как будто игра прочитала файл). Сразу предупреждаю, что делается это не в целях читерства |
| Автор: chaos 2.9.2005, 09:08 |
| вот возьми и почитай, для начала думаю хватит http://www.firststeps.ru/mfc/winapi/hook/hook1.html одно но там вроде все на С, хотя должно быть все понятно Удачи!!! |
| Автор: Voyager 5.9.2005, 11:33 | ||||
| Спасибо! Немного помогло, но вот какая проблема возникла. Например ставлю локальный хук на блокнот (из своей программы, без dll), вот функция установки:
Не работает Если же делаю установку через
хук устанавливается, но при его срабатывании Блокнот закрывается (это уже хоть что-то, но хотелось бы иного результата |
| Автор: p0s0l 5.9.2005, 15:25 | ||
http://wasm.ru/article.php?article=apihook_1 можно еще тут: http://www.rsdn.ru/article/baseserv/IntercetionAPI.xml http://www.rsdn.ru/article/baseserv/apicallsintercepting.xml |