每当我在 Visual Studio 2008 中的某个 C#.NET 应用程序中处于断点并启动 Microsoft Word 2007 时,word 将无法打开,直到我重新启动 C# 应用程序。我有一些关于为什么的理论,但有人确定吗?
PeterAllenWebb
问问题
282 次
2 回答
4
这可能是因为 Word 正在向顶级窗口发送 DDE 消息,而您的应用程序无法处理它,因为它挂在调试器中。Raymond Chen 对此有一篇博文(虽然与调试器没有直接关系,但效果相同)。
于 2008-10-09T19:30:28.617 回答
2
这种挂起的一个常见原因是(或曾经是)一个应用程序在启动时发送了一个广播 Windows 消息并期望每个窗口都有响应。如果您在调试器中打开了 GUI 应用程序,那么它将不会回复 Windows 消息,因此发送应用程序将挂起等待响应。我记得使用这种技术的最常见的程序类型是安装程序。
我不知道 Word 2007 是否发送任何广播消息,但这只是可能发生这种情况的一种方式。COM/OLE 的东西可以通过多种方式挂起,这对于 Word 来说似乎更有可能。
于 2008-10-09T19:30:28.087 回答