C# 应用程序在键盘输入更改时变得无响应

C# 应用程序在键盘输入更改时变得无响应,c#,.net,wpf,windows-7,C#,.net,Wpf,Windows 7,当我运行应用程序时,对其进行一些操作,然后更改键盘输入语言(通过alt+shift或任务栏),我的C#,.net-4应用程序完全没有响应。这意味着鼠标单击不会影响窗口,并且窗口本身无法移动。也就是说,没有显示时间窗,进程不会进入“应用程序不响应”状态,即操作系统(windows 7)不会关闭进程 当我(在另一个应用程序中)在UI线程和另一个线程之间发生死锁时,我曾经遇到过这样的问题。我可以向你保证这里不是这样,我已经从不同的角度调试了这个现象,系统中没有线程处于连接状态或休眠状态。不仅如此,UI

当我运行应用程序时,对其进行一些操作,然后更改键盘输入语言(通过alt+shift或任务栏),我的C#,.net-4应用程序完全没有响应。这意味着鼠标单击不会影响窗口,并且窗口本身无法移动。也就是说,没有显示时间窗,进程不会进入“应用程序不响应”状态,即操作系统(windows 7)不会关闭进程

当我(在另一个应用程序中)在UI线程和另一个线程之间发生死锁时,我曾经遇到过这样的问题。我可以向你保证这里不是这样,我已经从不同的角度调试了这个现象,系统中没有线程处于连接状态或休眠状态。不仅如此,UI主线程也在UI上(从操作系统中正常分离消息)

总结:

  • 我的应用程序是一个运行在.NET4框架上的C#4应用程序
  • 该应用程序在Windows7上运行(我们没有xp计算机可以试用)
  • 当输入语言发生更改时,应用程序对用户没有响应,但windows不会这样对待它,也不会尝试强制关闭它

以前有人遇到过这样的问题吗?我真的可以在这个问题上使用一个起始方向…

不,我不能复制那个方向(从德语改为俄语,再改为泰语,然后测试)。您是否编写了一些针对Windows消息的代码以更改语言?如果是的话,它看起来怎么样?我同意,仅仅对问题进行模糊描述,没有代码示例,很难给出任何输入。。。但是,听起来您有一个代理正在响应键盘消息。有什么事情发生了吗?我尝试了一个我正在开发的应用程序,看起来效果很好。。。你能去掉不需要的/私人的/机密的代码,并链接到一个项目吗?我很乐意为您试一试。不幸的是,该系统不包含任何旨在对语言更改做出反应的代码。我最初认为是这样的,但是搜索到的代码没有运气,就像我说的,没有线程处理任何对这种情况做出反应的代码。我真的很想给大家带来一个代码示例,但因为我不知道问题的根源,所以我不能把“行为不端的代码”放在这里。