什么是消息泵?

什么是消息泵?

讨论了在非交互式会话中运行Word时可能遇到的问题。那里给出的(非常强烈的)建议不会这样做。在一篇文章中,它表示“Office API都假设您在桌面上的交互式会话中运行Office,具有监视器,键盘和鼠标,最重要的是消息泵。” 我不确定那是什么。(我用C#编程只用了一年左右;我的其他编程经验主要是ColdFusion。)

更新:

我的程序运行大量RTF文件,以提取用于构建医疗报告编号的两条信息。我没有尝试弄清楚RTF中的格式化指令是如何工作的,而是决定只在Word中打开它们并从那里拉出文本(而不是实际启动GUI)。有时候,程序在处理一个文件的过程中会打嗝,并且会打开一个附加到该文档的Word线程(我仍然需要弄清楚如何关闭那个文件)。当我重新运行程序时,我当然得到一个通知,说有一个线程正在使用该文件,我是否想要打开一个只读副本?当我说“是”时,Word GUI突然突然冒出来并开始处理文件。我想知道为什么会这样;


幕布斯6054654
浏览 861回答 3
3回答

湖上湖

“消息泵”是任何Windows程序的核心部分,负责将窗口消息分派给应用程序的各个部分。这是Win32 UI编程的核心。由于它无处不在,许多应用程序使用消息泵在不同模块之间传递消息,这就是Office应用程序在没有任何UI的情况下运行时会中断的原因。维基百科有一个基本的描述。
打开App,查看更多内容
随时随地看视频慕课网APP