嗯,实际上我知道我可以通过它的消息泵与窗口本身,平面GUI进行通信,但是我想说我想在Delphi DLL中调用一个COM暴露函数来生成并维护该窗口?我首先要以某种方式确定拥有该窗口的模块。
与Delphi方面的沟通很少:您现在已经托管,您的主机ID是 x ,您可以关闭,必须关闭等。其余时间我会将我的主机公开为一个COM对象,Delphi代码可以更容易地与之交谈。
答案 0 :(得分:1)
如果您有HWND,可以使用GetWindowLong/Ptr(GWL_HINSTANCE)
检索与窗口关联的模块。
另一个选择是让DLL在ROT(运行对象表)中注册其COM对象,然后您可以在需要时简单地查询ROT以获取COM对象。不需要HWND。
答案 1 :(得分:0)
由于此过程正在进行中,并且由于您有可用的窗口,因此可以发送用户定义的消息来请求COM对象。然后你就定了。