一个关于ATL控件的疑难问题

无法支持的类型 2020-12-29 08:36:14
我有一个基于ATL开发的ocx控件,在IE中显示USB摄像头的预览画面,底层用的是于老师封装的DirectShow;现在有一个疑难问题,在网页中初始化-》预览-》关闭-》卸载-》刷新 循环7次,然后第8次就发现预览的画面没了,此时摄像头正常被打开,调用拍照函数仍能返回图片,经过调试发现,是ATL的m_hWnd为NULL值,此时摄像头PostMessage(handle,消息...),里面的handle为空值,所以此时预览画面没了,只有关闭IE浏览器重新打开方可运行,请教大佬这个是什么原因呢?

...全文
445 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 zgl7903 的回复:
对各操作写日志, 或远程调试看看, 是否有窗口奔溃或不同步的问题
调试结果如下: 0x759A46D2 (KernelBase.dll)处(位于 iexplore.exe 中)引发的异常: WinRT originate error - 0x80040155 : '找不到 IID: {F646011B-E24E-4ED8-85BA-EED288BD6A94} 的代理注册。'。 0x759A46D2 (KernelBase.dll)处(位于 iexplore.exe 中)引发的异常: 0x40080202: WinRT transform error (参数: 0x80040155, 0x80004002, 0x00000008, 0x057C70BC)。 0x759A46D2 (KernelBase.dll)处(位于 iexplore.exe 中)引发的异常: WinRT originate error - 0x80040155 : '找不到 IID: {F646011B-E24E-4ED8-85BA-EED288BD6A94} 的代理注册。'。 0x759A46D2 (KernelBase.dll)处(位于 iexplore.exe 中)引发的异常: 0x40080202: WinRT transform error (参数: 0x80040155, 0x80004002, 0x00000008, 0x057C6ADC)。
zgl7903 2020-12-29
  • 打赏
  • 举报
回复
对各操作写日志, 或远程调试看看, 是否有窗口奔溃或不同步的问题

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧