本文记录我远程一位老师的设备,这位老师使用的是 Win7 Sp1 系统,现象是 WPF 应用的窗口无法激活,在 user32 的 SetForegroundWindow 或 NtUserShowWindow 方法卡住
我收集到了多个进程的卡住的 dump 文件,分析到卡住有两个不同的堆栈
堆栈1:
user32.dll!_NtUserShowWindow@8() 未知 [托管到本机的转换]> PresentationFramework.dll!System.Windows.Window.ShowHelper(object booleanBox = false) 行 3293 C# PresentationFramework.dll!System.Windows.Window.Hide() 行 1358 C# 业务代码
堆栈2:
> user32.dll!_NtUserCallHwndLock@8() 未知 user32.dll!_SetForegroundWindow@4() 未知 [托管到本机的转换] PresentationFramework.dll!System.Windows.Window.Activate() 行 1467 C# 业务代码
从进程模块上可以看到有微信输入法的以下模块注入:
- C:\Program Files\Tencent\WeType\WetypeCore_1.0.4.289\x86\CrashRpt1500.dll 1.05.0.0
- C:\Program Files\Tencent\WeType\WetypeCore_1.0.4.289\x86\dbghelp.dll 10.0.10150.0(debuggers(- dbg).150616-1659)
- C:\Program Files\Tencent\WeType\WetypeCore_1.0.4.289\x86\wetype_tip_core.dll 1.00.4.289
- C:\Program Files\Tencent\WeType\WetypeCore_1.0.4.289\x86\WeUIResource.dll 1.00.0.0
复现步骤:
反复进入可能会激活显示窗口和隐藏窗口的逻辑即可
解决方法:
卸载腾讯微信输入法
卸载完成之后,重启进程即可修复
相关问题: 记微信截图导致 WPF 应用卡住 窗口无法激活问题
更多技术博客,请参阅 博客导航

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。 欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系。