我写一段程序对Word进行操作,在正常的Word文件操作是没有问题,但如果是一份错误的Word文档,而且文件很大,Word尽管打开是乱码,但要花很长时间;
我设置一个工作线程做这个操作,等待5分钟超时,然后就TerminateProcess结束winword.exe 这个进程,但结束后再次调用CreateDispatch("Word.Application")时就出错,提示为Warning: CreateDispatch returning scode = CO_E_SERVER_STOPPING ($80080008).
希望高手能指点指点
我设置一个工作线程做这个操作,等待5分钟超时,然后就TerminateProcess结束winword.exe 这个进程,但结束后再次调用CreateDispatch("Word.Application")时就出错,提示为Warning: CreateDispatch returning scode = CO_E_SERVER_STOPPING ($80080008).
希望高手能指点指点
IUnknown *pUnk;
IDispatch *pDisp;
CLSID clsid;
_Application m_wordApp;
CLSIDFromProgID(L"Word.Application", &clsid);
//查看是否有已经打开的Word对象
hr = GetActiveObject(clsid, NULL, (IUnknown**)&pUnk);
if (!FAILED(hr))
{
hr = pUnk->QueryInterface(IID_IDispatch, (void **)&pDisp);
ASSERT(!FAILED(hr));
m_wordApp.AttachDispatch(pDisp,TRUE);
pUnk->Release();
}
else
// 若无,则新建一个Word对象
{
if(!m_wordApp.CreateDispatch("Word.Application",NULL))
{
AfxMessageBox("创建ms_word对象失败");
exit(1);
}
}
具体信息见MSDN:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/enu_kbcompluskb/en-us/compluskb/Q234231.htm==================================
CSDN助手 全面支持CSDN论坛
监视、收藏、历史、签名走马灯