最近在做Dshow的开发,经常会遇到显示窗口未响应(控制台仍在正常运行)的状况。
先说一下本人的环境:windows10,使用win7 sdk(Dshow),VS2017(工具集在v120-v141),x64-win32
这个问题主要出现在使用Video Renderer进行实时播放或者采集预览的时候,显示窗口(ActiveMovie)在3-5秒左右,出现 未响应 的情况。
状况描述:
1.确认Graph链接没有问题(使用智能连接和pin链接,都出现这样的情况)
2.使用了HWND传递句柄,无边框窗口仍然会未响应
3.显示窗口时,鼠标一直显示繁忙(转圈),无法点击窗口
4.控制台及程序后台一切正常
5.该情况在debug调试模式下,较大概率不出现
6.使用GraphStudioNext(GraphEdit)还原链路,一切正常
解决方法:
前后在VS里面进行了 测试、直接运行,发现了测试状态下可以正常保持显示,而直接运行基本都未响应。
排除了链路问题(基本的File Source——Video Renderer链接,仍然出错),基本确定是生成的程序兼容性问题。(在MFC下,建立窗口后,正常显示)
右键debug下exe文件,属性——兼容——win7
问题解决……