Stand_Alone_Complex 2014年01月14日
如何在线程中读取DOC文件内容?
创建了一个对话框的MFC工程
//全局变量
Documents docs;
Selection selection;
_Document doc;
_Application wordApp;
//***************************

CString *pstr,path,str;
int i;

path="C:\\Documents and Settings\\Administrator\\桌面\\新建文件夹\\1.doc";//文件目录
LPDISPATCH pd;
COleVariant vTrue((short)TRUE),vFalse((short)FALSE),vOpt((long)DISP_E_PARAMNOTFOUND,VT_ERROR),vZ((short)0);
if(AfxOleInit()
&& wordApp.CreateDispatch("Word.Application",NULL))
{

wordApp.SetVisible(1);
docs.AttachDispatch(wordApp.GetDocuments());
AfxMessageBox("here");
pd=docs.Open(COleVariant(path),vFalse,vTrue,vFalse,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vZ,vOpt,vOpt);

doc.AttachDispatch(pd);
//AfxMessageBox("here");
selection=wordApp.GetSelection();
selection.GetSections();
selection.WholeStory();
content=selection.GetText();
AfxMessageBox(content);
selection.ReleaseDispatch();

doc.Close(vOpt,vOpt,vOpt);
doc.ReleaseDispatch();
wordApp.Quit(vFalse,vOpt,vOpt);
wordApp.ReleaseDispatch();
}
//以上代码在主程序中运行正常,读出了word文档的内容
//但是放在由AfxBeginThread开启的线程中就总在docs.Open这一步失败
//显示:unhandled exception in WordReader.exe (KERNEL32.dll) 0xE06D7363 Micsoft C++ Exception
//这是为何???
...全文
111 点赞 收藏 10
写回复
10 条回复

还没有回复,快来抢沙发~

发动态
发帖子
进程/线程/DLL
创建于2007-09-28

6373

社区成员

4.9w+

社区内容

VC/MFC 进程/线程/DLL
社区公告
暂无公告