Хук на HCBT_CREATEWND |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Хук на HCBT_CREATEWND |
Unconnected |
13.09.2010 23:07
Сообщение
#1
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Привет всем
Надо поставить хук на создание окон. Нашел (и слегка модифицировал) такой код:
Я сделал перевод из pchar в string, до этого там была какая-то жутко тупая проверка, которая почему-то работала. Этот код, как я понял, распространяется только на моё приложение. hookhandle>=0. Сообщение отредактировано: Unconnected - 13.09.2010 23:13 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Unconnected |
17.09.2010 21:25
Сообщение
#2
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Цитата прекрасно удаляет ту самую DLL-ку, которая была в прошлом проекте, Да, действительно. Мою, впрочем, тоже удаляет обычный deletefile, когда я запускаю программу простым даблкликом. Оказался виноват довольно специфичный авторан. Никогда бы на него не подумал, дошло только в ходе экспериментов. Кажется, там мой процесс с какими-то другими привилегиями запускается, что ли... Помог отказ от FreeLibrary (да, каюсь, так не надо писать программы, ну святых тоже не бывает, та же delphi, по словам Ган-блоггера)). Я нагуглил топик, где у кого-то на FreeLibrary вылетало исключение, и он в итоге убрал совсем и помогло, мне тоже помогло) Цитата До тех пор, пока счетчик этот не станет = 0, DLL выгружена не будет. На одном форуме в качестве совета для принудительной выгрузки dll видел совет сделать бесконечный цикл из FreeLibrary, наверное, "пока не сдохнет" Ещё раз спасибо за советы, всё получилось Сообщение отредактировано: Unconnected - 17.09.2010 21:28 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Текстовая версия | 29.09.2024 21:15 |