WPF应用程序挂起OnUserPreferenceChanging()

时间:2017-10-06 01:47:23

标签: c# wpf multithreading

我有一个随机挂起的WPF应用程序..(看起来像线程同步,没有CPU使用/死锁?)

当我查看转储文件时,当OnUserPreferenceChanging()调用

时,主UI线程在DispatcherSynchronizationContext上停止

请参阅链接:https://support.microsoft.com/en-us/help/943139/windows-forms-application-freezes-when-system-settings-are-changed-or

所以我用SPY ++来检查,我发现我有两个拥有Windows的线程(不是我的)

  1. 是GDI +(在应用程序运行和挂起时始终存在)
  2. 是SystemResourceNotifyWindow(挂起时始终存在)
  3. 导致问题的第二个问题(我认为)

    OnUserPreferenceChanging()被称为severa time而不挂(使用日志)

    所有控件/窗口都是使用Dispatcher(Invoke或BeginInvode)

    创建的

    什么方法可以找到创建此窗口的时间? 知道怎么解决吗?

0 个答案:

没有答案