我有一个使用非WPF供应商库的WPF应用程序。我的应用程序没有收到图书馆触发的任何事件。我被告知这是因为我需要一个消息泵。
在another (very similar) question中,使用System.Windows.Threading.Dispatcher.Run()建议接受的答案。
但是,当我添加该通话时,我的窗口不会弹出 - 应用程序有效地后台运行,我必须使用任务管理器关闭它。
我真的很难过,我甚至不确定如何调查它。任何帮助将不胜感激。
答案 0 :(得分:1)
如果你使用WPF,你已经有了一个,没有别的办法可以获得任何Windows通知。每个WPF应用程序都在主线程上调用Application.Run()开始。它通常很好地隐藏,在bin \ debug \ app.g.cs源代码文件中自动生成。 Application.Run()依次调用Dispatcher.Run()
您的供应商是正确的,没有消息循环许多COM组件变得紧张。但既然你有一个,你需要在其他地方寻找问题。不要在线程上使用该组件。