GetClipboardData 异常
场景:
请问 IOleObject.GetClipboardData() 返回 OLE_E_NOTRUNNING 错误的原因和解决方法
在读取 richeditview 中的图片时, IOleObject.GetClipboardData() 函数总是返回 OLE_E_NOTRUNNING ,这是为什么呢?有什么解决方法吗?
代码:
谢谢指教 ^_^
------解决方案--------------------
你的程序中有没有调用CoInitializeEx/CoInitialize之类的函数初始化COM库?
------解决方案--------------------
对方没有实现IOleObject::GetClipboardData接口
------解决方案--------------------
------解决方案--------------------
直接调用QueryInterface IDataObject 看看。
请问 IOleObject.GetClipboardData() 返回 OLE_E_NOTRUNNING 错误的原因和解决方法
在读取 richeditview 中的图片时, IOleObject.GetClipboardData() 函数总是返回 OLE_E_NOTRUNNING ,这是为什么呢?有什么解决方法吗?
代码:
- C/C++ code
IRichEditOle* pOle = edit.GetIRichEditOle(); REOBJECT reobject; reobject.cbStruct = sizeof(REOBJECT); if (E_INVALIDARG == pOle->GetObject(i, &reobject, REO_GETOBJ_ALL_INTERFACES)) { //正常应该返回 S_OK AfxMessageBox(L"获取对象失败!"); return; } IDataObject *pDataObject; if (S_OK != reobject.poleobj->GetClipboardData(0, &pDataObject)) { //错误值有OLE_E_NOTRUNNING,E_NOTIMPL两种 AfxMessageBox(L"获取数据失败!"); return; }
谢谢指教 ^_^
------解决方案--------------------
你的程序中有没有调用CoInitializeEx/CoInitialize之类的函数初始化COM库?
------解决方案--------------------
对方没有实现IOleObject::GetClipboardData接口
------解决方案--------------------
------解决方案--------------------
直接调用QueryInterface IDataObject 看看。