Автор
|
Тема: CWnd::FromHandlePermanent для поиска объекта из другой DLL
|
toypaul |
опубликован 14-02-2002 19:20 MSK
Имеется некоторое приложение, у него есть DLL, она закрыта (то есть исходников нет), но есть методы к которым можно обращаться. С помощью данных методов я могу получить хэндл окна (HWND), который указывает на некоторый (порожденный от CWnd объект). Если FromHandlePeramanent вызывается из коды этой DLL, то объект нормально находится, если же я вызываю FromHandlePeramanent из своей DLL, то у меня ничего не находится. Дело в том, что в MFC сделано так, что эта функция (FromHandlePeramanent) работает через карту соответствия HWND -> CWnd*, которая у каждой DLL или приложения (насколько я понял) свои. Таким образом в своей DLL я не могу получить этот указатель.Вопрос как можно добраться до карты соответствия из DLL приложения и как узнать что это именно та карта (если их может быть несколько).
|
ADK
|
опубликован 15-02-2002 06:07 MSK
А что мешает юзать непосредственно HWND? |
toypaul
|
опубликован 15-02-2002 07:53 MSK
нужно получить указатель на объект, который не является CWnd, а порожден от него - нужно получить доступ к его методам. Вообще это нечто вроде грида. Прямого доступа к этому указателю нет, только через HWND |
ADK
|
опубликован 15-02-2002 10:14 MSK
Извращенская бибилиотека кая-то. |
toypaul
|
опубликован 15-02-2002 11:03 MSK
неа - это я извращенец ;). Просто в этом приложении не предусмотрено обращение к его dll-кам, однако большинство функций в них доступно (они описаны по символьным именам и типам параметров в самих dll). |
ADK
|
опубликован 15-02-2002 11:19 MSK
Лучше поищи другой грид |