Здравствуйте, nnoobb, Вы писали:
N>dll давно написана и все на ней работает, вопрос — как без dll. N>Но вот какая проблема (собственно почему и хочется без нее) при установку hook происходит загрузка dll (или какой-то информации о dll) во все процессы системы. (я так думаю!) Хотя скорее всего я ошибаюсь, прошу меня поправить и втолковать как оно есть на самом деле или дать соответствующий линк.
Ошибаетесь В SetWindowsHookEx есть параметр — Thread ID — если он равен нулю, то действительно подгрузится везде. Но если его указать, то только в то приложение в котором этот thread бежит.
Получить ThreadId по HWND можно через функцию
Здравствуйте, BlackHeretic, Вы писали:
BH>Здравствуйте, nnoobb, Вы писали:
N>>Вероятно, если окно в моем приложении — то и hooks не нужны
BH>Тогда пишите DLL. И что новички так этого пугаются. Хотя сам такой был BH>Самплов тут предостаточно. Даже статейка лежит.
dll давно написана и все на ней работает, вопрос — как без dll.
Но вот какая проблема (собственно почему и хочется без нее) при установку hook происходит загрузка dll (или какой-то информации о dll) во все процессы системы. (я так думаю!) Хотя скорее всего я ошибаюсь, прошу меня поправить и втолковать как оно есть на самом деле или дать соответствующий линк.
Здравствуйте, BlackHeretic, Вы писали:
BH>Здравствуйте, nnoobb, Вы писали:
N>>dll давно написана и все на ней работает, вопрос — как без dll. N>>Но вот какая проблема (собственно почему и хочется без нее) при установку hook происходит загрузка dll (или какой-то информации о dll) во все процессы системы. (я так думаю!) Хотя скорее всего я ошибаюсь, прошу меня поправить и втолковать как оно есть на самом деле или дать соответствующий линк.
BH>Ошибаетесь В SetWindowsHookEx есть параметр — Thread ID — если он равен нулю, то действительно подгрузится везде. Но если его указать, то только в то приложение в котором этот thread бежит. BH>Получить ThreadId по HWND можно через функцию
Здравствуйте, BlackHeretic, Вы писали:
BH>Здравствуйте, nnoobb, Вы писали:
N>>dll давно написана и все на ней работает, вопрос — как без dll. N>>Но вот какая проблема (собственно почему и хочется без нее) при установку hook происходит загрузка dll (или какой-то информации о dll) во все процессы системы. (я так думаю!) Хотя скорее всего я ошибаюсь, прошу меня поправить и втолковать как оно есть на самом деле или дать соответствующий линк.
BH>Ошибаетесь В SetWindowsHookEx есть параметр — Thread ID — если он равен нулю, то действительно подгрузится везде. Но если его указать, то только в то приложение в котором этот thread бежит. BH>Получить ThreadId по HWND можно через функцию
N>Однако эта функция возвращает id процесса, а в хууках требуется id треда. Как получить id треда
Она возвращает ID треда, ID процесса возвращается через пойнтер LPDWORD lpdwProcessId. Согласен, имя функции звучит страшноватенько
А вообще, курите MSDN. Там все четко прописано.
N>>Однако эта функция возвращает id процесса, а в хууках требуется id треда. Как получить id треда
BH>Она возвращает ID треда, ID процесса возвращается через пойнтер LPDWORD lpdwProcessId. Согласен, имя функции звучит страшноватенько BH>А вообще, курите MSDN. Там все четко прописано
Спасибо, я чето думал что именно и передаю указатель на DWORD и мне вернется id треда — и не стал смотерть msdn.