QZhi 发表于 2024-7-28 14:43:05

【不止 VB】QZhi Page Capturer:一个基于 Internet Explorer 的网页截图工具。

QZhi Page Capturer 简介
QZhi Page Capturer 是一款基于 Internet Explorer 的网页截图工具,适用于 Microsoft Windows XP 及更新的操作系统。

下载地址
https://github.com/QZhiStudio/QZhi-Page-Capturer

软件截图


原理
通过 IUnknown_GetWindow 函数获取 WebBrowser 的句柄,然后使用 PrintWindow 将窗体图像复制到指定的 PictureBox 中。

FAQ
Q:为什么不用 DrawToBitmap?
A:这并不是 C#。虽然说 VB 在 IHTMLElementRender 接口中有 DrawToDC 函数,可以直接将图像复制到指定的设备,但是 VB 不支持 __MIDL_IWinTypes_0009 结构,所以无法使用该函数或类似的方法。
Q;为什么要一次性截图而不是分段再组合?
A:麻烦,而且要考虑各版本 IE 的区别,scrollBy 也不是非常好用。
Q:为什么软件是英文?
A:因为最开始想兼容 Windows 98,我手上只有英文版的 Windows 98 映像。
Q:如何使该软件兼容更早版本的 Windows?
A:将 IUnknown_GetWindow 改为 FindWindowEx,把 PrintWindow 改为发送 WM_PRINT,至少可以兼容到 Windows 95。
页: [1]
查看完整版本: 【不止 VB】QZhi Page Capturer:一个基于 Internet Explorer 的网页截图工具。