2008-10-09 39 views
3

每當我在Visual Studio 2008中的特定C#.NET應用程序中斷時,我啓動了Microsoft Word 2007,Word將無法打開,直到我重新啓動C#應用程序。我有幾個關於爲什麼的理論,但有人確實知道嗎?爲什麼Word在我調試時會凍結?

+0

我也遇到過這個問題。它通常工作正常,如果我只是在VS中前進幾行,而不是重新啓動。 – Seibar 2008-10-09 21:21:05

回答

4

這可能是因爲Word將DDE消息發送到頂層窗口,並且您的應用無法處理它,因爲它掛在調試器中。 Raymond Chen對此有blog post(雖然與調試器沒有直接關係,但效果相同)。

2

這種掛起的常見原因是(或曾經是)在啓動時發送廣播Windows消息的應用程序,並且希望每個窗口都有響應。如果您在調試器中打開了GUI應用程序,那麼它將不會回覆Windows消息,因此發送應用程序將掛起等待響應。我記得使用這種技術的最常見類型的程序是安裝程序。

我不知道Word 2007是否發送任何廣播消息,但這只是這種情況發生的一種方式。有很多方法可以讓COM/OLE的東西掛起來,而這對於Word來說可能更有可能。

相關問題