如何防止在长时间的 COM 操作期间显示 OLE 服务器忙对话框中

关于VC操作Office屏蔽掉“服务器正在运行中”要选择“切换到...”或"重试"的对话框 在出现该问题的操作之前加入下面代码即可:AfxOleGetMessageFilter()->EnableBusyDialog(FALSE); AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);   AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE);   A 阅读详情
如果调用方法在 COM 服务器上从 MFC COM 客户端应用程序和方法如果需要较长的时间,处理并返回后,您将无法执行任何操作在客户端应用程序和OLE 服务器忙对话框中的 pop。 这篇文章解释了如何提高 COM 调用的超时时间,并还介绍了如何避免出现此对话框。

Collapse image更多信息

确保 MFC 客户端应用程序会调用以初始化 COM. AfxOleInit() 这是重要的因为AfxOleInit()还初始化,并在 CWinApp 中注册的 COleMessageFilter 数据成员。 或者,可以创建您自己的 COleMessageFilter 对象,并在启动过程中注册的。

使用
AfxOleGetMessageFilter()->SetMessagePendingDelay(nTimeout);
				
若要设置传出 COM 调用的等待时间。 如果 COM 调用的时间比 nTimeout 毫秒为单位),然后 MFC 客户端应用程序显示OLE 服务器忙的对话框。

使用,
AfxOleGetMessageFilter()->EnableNotRespondingDialog(FALSE);
				
若要禁用无响应对话框中,如果键盘或鼠标消息处于挂起状态,将显示该期间 OLE 调用,并调用已超时。

使用
AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);
				
若要禁用从 COM 调用后出现的忙对话框超时。

若要禁止显示服务器忙的对话框的另一种方法是在您的应用程序中使用OleInitialize和OleUninitialize而不是AfxOleInit 。

Collapse image参考

有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
179692 尝试在 Visual C++ 在 COM 服务器上调用的方法,则会出现 0x80010005 错误的 HRESULT
其他信息,请参阅下面的 Microsoft 开发人员网络 (MSDN) Web 站点:

http://support.microsoft.com/kb/248019/zh-cn
openEuler 欧拉 安装Oracle19c数据库RPM包安装 欧拉系统安装部署oracle 19c rpm方式 阅读详情

相关推荐

DSP TMS320F280049之CCS工程的建立(库函数版)

TMS320F280049 DSP是TI最新出的一款C2000系列的DSP,主频为100MHZ,功能较为强大,具有较多的片上模拟外设。这一节主要讲述如何新建F280049的CCS工程。 Step1.下载文件: 下载C2000Ware软件并安装。下载地址如下: http://www.ti.com.cn/tool/cn/C2000WARE?keyMatch=C2000Ware%2...

fanxianyan1993的博客 1万+

C#程序设计引入IOleMessageFilter解决程序异常

本文介绍 C#程序设计引入IOleMessageFilter解决程序异常。 操作流程 1.1. 问题背景 在C#使用外部COM接口时可能会报错:被呼叫方拒绝接收呼叫。 (异常来自 HRESULT:0x80010001 (RPC_E_CALL_REJECTED)) 根据微软官防文档解释,时因为外部线程和Visual Studio之间存在线程争用问题,解释如下所示 1.2. 解决方案 1.2.1. 方案1 捕捉异常,利用委托(delegate)和泛型重复执行异常的方法。 这个方案可以很完美的解决该问题,主

weixin_41883890的博客 749

C++实战指南:使用CodeBlocks构建跨平台wxWidgets窗口应用

本文是一份面向C++初学者的实战指南,详细介绍了如何使用CodeBlocks IDE和wxWidgets框架快速构建跨平台的桌面窗口应用。内容涵盖从环境搭建、项目配置到界面设计、事件处理的全流程,重点讲解了如何利用CodeBlocks的开箱即用支持和wxSmith可视化设计器,高效开发具有按钮、菜单、列表等控件的交互式窗口界面程序,帮助读者轻松入门GUI开发。

weixin_29012677的博客 154

消息框:服务器正在运行中 OLE解决办法

你使用了AfxOleInit()初始化MFC客户端时,会自动在CWinApp中设置一个COleMessageFilter数据成员。该类提供了IMessageFilter的实现,允许用户在等待异步操作的时候有选择性地处理COM操作以提高效率和避免死锁,参见IMessageFilter的文档。你可以创建你自己的COleMessageFilter类并且在此时注册。     可以用AfxOleGetMes

透明果冻 2312

K-means算法代码实现(python)

K-means算法代码实现以及解决质心选择问题 计算距离 距离通常使用欧几里得距离来衡量 def euclDistance(vector1, vector2): return np.sqrt(sum((vector2 - vector1) ** 2)) 初始化质心 def initCentroids(data, k): numSamples, dim = data.shape ...

江南小帅瓜的博客 1万+

虚拟化Esxi 和 华为交换机--配置链路捆绑

在这种模式下,Eth-Trunk的建立和成员接口的加入都需要手工配置,没有LACP协议的参与。● 在没有配置802.3ad聚合时,启用基于IP哈希的路由将中断网络,因此必须先对虚拟交换机进行更改。再去修改交换机的链路聚合模式(交换机配置为手动模式的链路聚合)当服务器需要通过交换机从远端服务器获取配置文件后才可以启动链路聚合时,交换机的链路聚合口需要配置lacp force-forward。● 交换机必须设置手动模式的链路聚合,虚拟交换机的负载平衡方法必须设置为基于IP哈希的路由。

ling 2115

MFC程序第一次运行时总要提示 “切换到” 解决方案

 在要出现提示的代码前添加如下代码:    AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);    AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);    AfxOleGetMessageFilter()->EnableNotRespondingDial...

lucboll的博客 612

CIMPro孪大师,支持 3DGS 高斯泼溅的一站式零代码数字孪生平台

高斯泼溅导入数字孪生开发引擎

2501_90821319的博客 1109

屏蔽“服务器正在运行”对话框

         AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);     AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);       AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE); 

冷秋魂的专栏 2053

【声纳与人工智能融合——从理论前沿到自主系统实战】第一章 声纳AI的数据基础:仿真、数据集与表征学习

该数据集的特点是包含了多种底质背景(沙地、泥地、碎石区)与噪声条件,适合验证模型的背景抑制能力。Urashima数据集由日本海洋研究开发机构(JAMSTEC)发布,基于自主水下航行器(AUV)采集,包含前视声纳序列数据,主要用于水下导航与避障算法评估,其数据包含了精确的姿态与深度标注,支持三维场景重建算法的训练。北约海洋研究与实验中心(CMRE)发布的CMRE datasets包含侧扫与合成孔径声纳数据,特别适用于跨传感器域自适应研究,数据集中包含了同一区域的多种声纳成像结果,为跨模态学习提供了基准。

u012133341的博客 103

11.1华为OD机试真题 新系统 - 整理学生编号 (Java/Py/C/C++/Js/Go)

11.1华为OD机试真题 新系统 - 整理学生编号 (Java/Py/C/C++/Js/Go)

算法大师! 381

vc office 屏蔽掉“服务器正在运行中”“切换到”提示框

在出现该问题的操作之前加入下面代码即可: AfxOleGetMessageFilter()->EnableBusyDialog(FALSE); AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER); AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE);

u010316521的专栏 1841

AI游戏制作07——波次计时器,敌人按波次生成

AI游戏制作07——波次计时器,敌人按波次生成

qq_40572023的博客 47

VC Office 自动化(Word、Excel)

创建嵌入 Word 文档的 MFC 应用程序 创建嵌入Word文档的MFC应用程序 引用地址(嵌入EXCEL):http://support.microsoft.com/kb/184663/zh-cn?spid=3003&sid=1131 下列步骤介绍如何嵌入一个 Word 文档并自动化文档将数据添加到单元格。 启动 Microsoft Visual Studio .NET。在文

Stone_Sky 2476

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

调用COM组件服务器正在运行中解决方法

调用进程外COM组件时,如果等待时间过长,则会出现如下提示对话框:    服务器正在运行中 由于另一个程序正在运行中,此操作无法完成.请选择“切换到”来激活正在运行中的程序,并更正问题.底下是“切换到”和“重试”两个选项。 可以在程序初始化时添加如下代码,屏蔽该提示对话框: AfxOleGetMessageFilter()->EnableBusyDialog(FALSE); AfxOle

chzuping的专栏 3214

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

服务器在运行中,由于另一个程序正在运行中,此操作无法完成

Visual Studio2008中用excel automation读取Excel文档,有时会程序提示”由于另一个程序正在运行中,此操作无法完成.请选择’切换到’来激活正在运行中的程序,并更正问题.” 怎么解决?在出现该问题的操作之前加入下面代码即可:AfxOleGetMessageFilter()->EnableBusyDialog(FALSE); AfxOleGetMessageFilter(

唐装鼠的主页 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

VBA编程“由于另一个程序正在运行中,此操作无法完成.”解决方法.

这是自动化服务超时引起,它有一个默认的响应时间,解决方法: 在App::InitInstance()里AfxOleInit()之后加上这个: AfxOleGetMessageFilter()->EnableBusyDialog(FALSE); AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER); AfxOleGetMe

曾经沧海 6105

服务器运行中,切换或重试问题

VC解决COM启动运行中“服务器运行中”等消息问题 AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);  AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);    AfxOleGetMessageFilter()->EnableNotResponding

徐新华的专栏 1407

VC中处理总是弹出server busy对话框的方法

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34245082的博客 470
上一篇: 调用COM组件服务器正在运行中解决方法
下一篇: DCOM揭秘之六
embededvc
博客等级 码龄21年 176粉丝 41原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值