在 Perl 中,如果我有窗口对象的 HWND,如何使用该句柄访问该 COM 对象?我查看了 Win32::OLE,但我得到的最接近的是 GetActiveObject
方法,它需要一个类。
最佳答案
没有标准方法可以从 HWND 获取 COM 接口(interface)指针,因为窗口不是 COM 对象。基本的 Windows API(包括窗口句柄)早于 OLE 和 COM 的发明。特定窗口的实现可以通过 COM 接口(interface)公开其部分或全部功能,但这些接口(interface)将是特定于应用程序的。
如果有记录表明您要控制的窗口公开了公共(public) COM 接口(interface),则该窗口的文档还将告诉您如何在窗口中查询接口(interface)指针。最有可能的是,它需要发送特定于应用程序的 window message .
关于perl - 如何从 Win32::OLE 中的 HWND 获取 COM 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1658664/