2
我创造IDispatch
这样的:C++ MS Word中 - 了oleautomation
IDispatch *m_pWApp = NULL;
CoInitialize(NULL);
CLSID clsid;
m_hr = CLSIDFromProgID(L"Word.Application", &clsid);
if(SUCCEEDED(m_hr))
{
m_hr = CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER, IID_IDispatch, (void **)&m_pWApp);
if(FAILED(m_hr)) m_pWApp=NULL;
}
我使用这像example
自动化Word但现在我需要使用方法从界面IOleCommandTarget::Exec
的隐藏菜单栏开放词。我知道用这种方法是可能的。
我的问题是,我怎么能得到IOleCommandTarget
使用它来调用Exec,当然在例子中有可能使用IDispatch
行。
这将返回我E_NOINTERFACE。 –
您需要为您的OLE对象找到OleCommandTarget(QueryInterface的第一个参数)的正确IID。 –
请参阅http://www.codeguru.com/cpp/com-tech/activex/misc/article.php/c2667/Active-Document-Containers.htm –