有时候会出错,提示:
服务器正在运行中
由于另一个程序正在运行中,此操作无法完成。
受不了了。
源码在:
http://hzsrc.ctfs.ftn.qq.com/ftn_handler/4084f1eb68543c08954222073c857e51ea5c1c4a1c1847fec2bb5de7a91d7382d76c85459bb095579159823f3d0d5b5aeff18a58107e62a13283ac25f2c189b3/?fname=%E5%B0%86word%E4%BF%9D%E5%AD%98%E6%88%90%E5%9B%BE%E7%89%87%E7%9A%84%E4%B8%80%E4%B8%AA%E4%BE%8B%E5%AD%90.zip&k=64613734166bcf993be21d13133403490f050552025655001a5551060d19055554071a560455574b5402000d0307550204570005352a31db9c165846518592d2d1d2fef989f29dd3f3b38c8cc3f4ccb1e44f4d5d45340c&fr=00&&txf_fid=c8f97f61e26bb6d6c7d1086a66d9256f22c8feb1&xffz=106717
对于进程外的com,没有法子解决这个问题吗,这个问题有时候会出现,有时候不会出现
是在无法解决了。
代码再:
void CMyDialog::OnBnClickedButton1()里面
8 个解决方案
#1
/*屏蔽掉"服务器正在运行中"要选择"切换到..."或"重试"的对话框*/
AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);
AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);
AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE);
AfxOleGetMessageFilter()->SetMessagePendingDelay(-1);
AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);
AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);
AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE);
AfxOleGetMessageFilter()->SetMessagePendingDelay(-1);
#2
帅哥,我哦在哪里加这几句代码呢?
#3
注意以下代码顺序 在我电脑上面,测试20次,没有问题
objWordApp.Quit(
ovFalse, // 保存修改
ovTrue, // 原始格式
ovFalse // RouteDocument.
);
objNewDoc.ReleaseDispatch();
objDoc.ReleaseDispatch();
objDocs.ReleaseDispatch();
#4
对话框的OnInitDialog中
#5
每次打开文档的时候,先拷贝一份到你的临时目录,再打开临时目录下的文档,应该可以的。
#6
大概试了下可以的。
#7
大佬
你看吧:
:\c_plus_plus\将word保存成图片的一个例子\mydialog.cpp(29) : error C2227: “->EnableBusyDialog”的左边必须指向类/结构/联合/泛型类型
1>e:\c_plus_plus\将word保存成图片的一个例子\mydialog.cpp(30) : error C2027: 使用了未定义类型“COleMessageFilter”
1> d:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afxwin.h(4445) : 参见“COleMessageFilter”的声明
1>e:\c_plus_plus\将word保存成图片的一个例子\mydialog.cpp(30) : error C2227: “->SetBusyReply”的左边必须指向类/结构/联合/泛型类型
1>e:\c_plus_plus\将word保存成图片的一个例子\mydialog.cpp(31) : error C2027: 使用了未定义类型“COleMessageFilter”
我能说啥啊?
#8
回复于: 2012-12-18 18:44:24
引用 2 楼 bsnry 的回复:
引用 1 楼 fengqinqdca 的回复:/*屏蔽掉"服务器正在运行中"要选择"切换到..."或"重试"的对话框*/
AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);
AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);
AfxOleGet……
对话框的OnInitDialog中
引用 2 楼 bsnry 的回复:
引用 1 楼 fengqinqdca 的回复:/*屏蔽掉"服务器正在运行中"要选择"切换到..."或"重试"的对话框*/
AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);
AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);
AfxOleGet……
对话框的OnInitDialog中
#1
/*屏蔽掉"服务器正在运行中"要选择"切换到..."或"重试"的对话框*/
AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);
AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);
AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE);
AfxOleGetMessageFilter()->SetMessagePendingDelay(-1);
AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);
AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);
AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE);
AfxOleGetMessageFilter()->SetMessagePendingDelay(-1);
#2
帅哥,我哦在哪里加这几句代码呢?
#3
注意以下代码顺序 在我电脑上面,测试20次,没有问题
objWordApp.Quit(
ovFalse, // 保存修改
ovTrue, // 原始格式
ovFalse // RouteDocument.
);
objNewDoc.ReleaseDispatch();
objDoc.ReleaseDispatch();
objDocs.ReleaseDispatch();
#4
对话框的OnInitDialog中
#5
每次打开文档的时候,先拷贝一份到你的临时目录,再打开临时目录下的文档,应该可以的。
#6
大概试了下可以的。
#7
大佬
你看吧:
:\c_plus_plus\将word保存成图片的一个例子\mydialog.cpp(29) : error C2227: “->EnableBusyDialog”的左边必须指向类/结构/联合/泛型类型
1>e:\c_plus_plus\将word保存成图片的一个例子\mydialog.cpp(30) : error C2027: 使用了未定义类型“COleMessageFilter”
1> d:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afxwin.h(4445) : 参见“COleMessageFilter”的声明
1>e:\c_plus_plus\将word保存成图片的一个例子\mydialog.cpp(30) : error C2227: “->SetBusyReply”的左边必须指向类/结构/联合/泛型类型
1>e:\c_plus_plus\将word保存成图片的一个例子\mydialog.cpp(31) : error C2027: 使用了未定义类型“COleMessageFilter”
我能说啥啊?
#8
回复于: 2012-12-18 18:44:24
引用 2 楼 bsnry 的回复:
引用 1 楼 fengqinqdca 的回复:/*屏蔽掉"服务器正在运行中"要选择"切换到..."或"重试"的对话框*/
AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);
AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);
AfxOleGet……
对话框的OnInitDialog中
引用 2 楼 bsnry 的回复:
引用 1 楼 fengqinqdca 的回复:/*屏蔽掉"服务器正在运行中"要选择"切换到..."或"重试"的对话框*/
AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);
AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);
AfxOleGet……
对话框的OnInitDialog中