Можно ли получить указатель на VCL-класс(TDBGrid), зная HWND его окна, из ДЛЛ внедренной в чужой процесс (сам компонент создан этим процессом)?
(Ось W2k)
Функция FindControl не срабатывает (наверное из-за того, что работает в контексте ДЛЛ, а не процесса)
Подробнее:
Есть программа (ЕХЕ), которая отображает содержимое некой БД. Сама БД зашифрована неизвестным методом.
Остается внедряться в процесс и брать данные из его памяти. У процесса есть окно класса TDBGridEh. Напрашивается решение по цепочке DBGrid->DataSource->DataSet выйти на этот самый датасет и уже от него брать данные. Но вот здесь и возникает вышеописанная проблема.
Кто сможет помочь - буду весьма признателен
GetProp или EnumProps20.02.04 22:19 Автор: Neznaika <Alex> Статус: Member
2) Насчет FindControl -
А он и не должен работать. Потому, что там cравнивается Hinstance, а HInstance твоей Dll не совпадает с HInstance самого приложения.
Ответ создателя нити.22.02.04 12:25 Автор: TMind Статус: Незарегистрированный пользователь
Спасибо, конечно, большое! Как и обещал, я весьма тебе признателен :) (на самом деле).
А насчет FindControl, так с помощью её и сделал уже, правда метод получился сложный, но сильный: изменял код в потоке целевой программы :) Ну не допер сразу :~(.
А вообще, спасибо. Если что надо - спрашивай. Сами в принципе не за дарма хлеб с маслом получаем, кое что знаем :)