PrintWindow和微软边缘(PrintWindow and Microsoft Edge)

2019-10-23 20:44发布

我们在Windows 10(建立10166)的PrintWindow功能的问题。 当我们调用PrintWindow( https://msdn.microsoft.com/ru-ru/library/windows/desktop/dd162869(v=vs.85).aspx )捕捉微软边缘(项目斯巴达)浏览器窗口的图像我们得到了一个黑色的图像。

有谁知道这样做的原因,以及如何可以把它固定/避免? 或者一些其他的方式来捕获窗口的图像,可以在后台和墙根背后另一个窗口?

更新 :我们已经尝试发送WM_PRINTCLIENT和WM_PRINT消息,并调用DefWindowProc函数与WM_PRINT,但结果都是一样的-只是一个黑色的图像。 我们也试图用的BitBlt到窗口的DC复制到记忆表面,但它不是工作压力太大。 我们现在正将浏览器窗口,前景,捕捉整个屏幕,裁剪截图窗口的客户端大小最好的解决方案; 但它可以中断和烦扰,因为切换应用程序,目前正在使用的用户。

Answer 1:

如果你想利用页面的截图上的浏览器。 试试这个JavaScript库: http://html2canvas.hertzen.com/脚本通过它加载页面的DOM遍历。 它收集上的所有元素在那里,然后用它来构建页面的表示信息。 换句话说,它实际上并不需要的页面的截图,但建立了基于它从DOM读取性能的它表示。

我只是想在我的机器上微软边缘和Chrome和both.Hope工作,没有工作!



Answer 2:

我曾与IE相同的问题试试这个 。 最稳定的结果与两个人通话

PrintWindow(hWnd, hdcScreen, 0);
PrintWindow(hWnd, hdcScreen, PW_CLIENTONLY);


文章来源: PrintWindow and Microsoft Edge