COM 方法是否可以传递 HWND
?在我的对象 CoCreateInstance
中使用以下方法返回 DISP_E_BADVARTYPE
(0x80020008
):
STDMETHODIMP ShowDialog(HWND hWndParent);
到目前为止,我通过传递一个 OLE_HANDLE
然后转换它来解决这个问题,但它感觉像是一个障碍:
STDMETHODIMP ShowDialog(OLE_HANDLE hWndParent);
最佳答案
我认为 HWND 是一个指向结构的指针,这就是为什么不能在 IDL 中使用它的原因。
如果您查看 Microsoft Typelibs,您会看到关于如何传递句柄的各种变体(从 int 到 long 到 HANDLE)。
关于windows - 我可以在 COM 方法中传递 HWND 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/808706/