IViewObject2多线程无法截图

qvbzyx 2015-04-28 09:19:29
我在程序中主线程调用IViewObject2::Draw 函数去截图是可以的

但是用后台线程去定时截图就是黑色的(WebBrowser控件没有释放)。多线程中,如果在截图之前断点,调试又能截图

经过测试,IViewObject2 和 IHTMLElementRender 截图都是黑色,PrintWindow可以,但是PrintWindow 无法满足要求。

请教各位前辈,是什么问题
...全文
227 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qvbzyx 2015-04-30
  • 打赏
  • 举报
回复
引用 2 楼 jason_wentzel 的回复:
先看看返回错误代码,然后确定你WebBrowser是否全在同一线程中操作,在我的印象中,WebBrowser在线程中需要初始化COM环境的
同一线程是没可以的,开辟一个新线程就不行了。 Draw函数 返回 HR_OK、但是未取到界面。
qvbzyx 2015-04-30
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
一般这种界面操作相关的,做好把动作放在UI线程,也就是主线程中执行
但是如果主线程中有很多个Webbrowser 对象,界面应该会假死吧? 还是说仅仅是截图放主线程?
孤客天涯 2015-04-29
  • 打赏
  • 举报
回复
先看看返回错误代码,然后确定你WebBrowser是否全在同一线程中操作,在我的印象中,WebBrowser在线程中需要初始化COM环境的
oyljerry 2015-04-29
  • 打赏
  • 举报
回复
一般这种界面操作相关的,做好把动作放在UI线程,也就是主线程中执行

3,248

社区成员

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

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