![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
![]()
Цель программы, вести лог замускаемых программ, и записывать в файл, который будет лежать в той же директории, где и сама DLL.
Ошибки: 1) Почему то несоздаётся лог файл, 2) При попытки выгрузки DLL, выходит Access Violation, (интересно почему). Использование: Пока что гружу динамически, вручную. Как исправить, чтобы заработало? |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
Alter, внимательность, внимательность и ещё раз внимательность. !
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
![]()
Немного переделал, но что-то всёравно нетак.
Должно реагировать на создаваемые окна в системе, а результат записывать в файл. Но файл несоздаётся. Может в DLL неправильно считываю информацию, использую WH_CBT хук. ------------------- Никто несможет помочь наладить? Может кто-то взглянет, и напишет что не так в DLL. Пользуйтесь редактированием постов. Не размножайте их. Последний раз редактировалось B_N; 03.05.2008 в 20:13. |
![]() |
![]() |
![]() |
#4 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Для меня странно вот это: ( первое что заметил )
Код:
Код:
![]() Еще уберите Classes ну Lst :TStringList; замените лучше на Lst: TextFile ![]() Вычитал в совсем неизвестном справочнике MSDN Цитата:
![]() Последний раз редактировалось BOBAH13; 03.05.2008 в 19:43. |
|
![]() |
![]() |
![]() |
#5 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Поидее должно быть так, но при запуске у меня explorer падает и все
![]() Код:
|
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
Alter, хук CBT вызывается в контексте процесса-"жертвы". Как по-Вашему, что будет возвращать при этом ParamStr(0)? Я вот, честно, понятия не имею, что вытворит дельфи в таком случае. Чем меньше в таких вещах всех этих паскальных примочек, тем лучше. И вообще, хуки - это не так просто, как может показаться. Нужно учитывать, в чьём контексте он вызывается, что хук ставится на поток, а не на процесс, что надо организовывать в слабых местах обработку исключений и т.д.
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
![]()
Пробывал переделанный вариант от ВОВАН13, действительно начинают выключатся окна. 2B_N может предложите свой вариант контроля, чтобы невылетало и запись в файл была как надо. Текстовый файл предложил ВОВАН13, с TStringList вроде невылетало.
|
![]() |
![]() |
![]() |
#8 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
записывать в файл надо так:
Код:
1. Когда DLL грузится в другой процесс, то надо открывать файл заново, потому что при загрузке в новый процесс в переменной Lst будет ноль или "ерунда". 2. Надо открывать, записывать и закрывать его, потому что когда ты откроешь файл в функции RunStopHook, то никакой другой процесс не сможет открыть его. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
![]()
Вот нашол код на Си, может кто-то переведёт его на Delphi. Можно ли этот код приспособить под мою ДЛЛ? Здесь тоже есть перехват создаваемых окон.
Код:
Никто несможет разобраться? Последний раз редактировалось Alter; 04.05.2008 в 19:36. |
![]() |
![]() |
![]() |
#10 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Привет. Может кто поможет (хотя уже у меня выработался инстинкт, что тут я ответа не получу ). Какие сообщения надо обрабатывать, в глобальном хуке, и какой хук ставить, чтобы знать что окно изменило размеры, положение, перерисовалось, создало что либо в себе, само создалось, удалилось, свернулось, развернулось и т.п.... собственно все. Мне надо знать что в окне что-то изменилось... а вот как и что именно для этого требуется пока собираю информацию. Спасибо
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Global Hook - движение окон | BOBAH13 | Общие вопросы Delphi | 5 | 16.09.2008 11:59 |
IP из заголовка TCP + контроль за портами | Majestry | Работа с сетью в Delphi | 2 | 28.05.2008 09:54 |
Контроль перемещения мыши | Falling_Tear | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 29.11.2007 19:43 |
Как получить список запускаемых программ? | kozei | Win Api | 8 | 01.11.2007 16:07 |