你有病啊~~~不过你的想法也不是没有办法做到,先内嵌浏览器,取得浏览器的hwnd,获得屏幕大小,并截取他的屏幕。

解决方案 »

  1.   

    谢谢两位,我没有病。前面两位说的方法我都试过,问题是
    1.只能取到屏幕范围的内容
    2.精度不够。欢迎继续探讨。
    我还有个帖子是usb设备驱动的,也请各位高手帮忙看看。谢谢。
      

  2.   

    最后一招,自己写个浏览器吧,然后该浏览器打开网页的方式就是将其存为BMP,
    呵呵,可是很有难度的哦。
    不算Java applet这种东西了,光java script 就够你麻烦的,其它我是再也想不出什么办法了
      

  3.   

    能不能写一hook,截取 IE(有控件) wm_paint消息,将其输出重定向,到一个很大的窗口(不显示)的HDC.这样可能会引起的问题是 HTML 是无限大的,而窗口总是有限的,超出部分我想可以发 scroll_bar 的消息,再继续这个过程。你觉得如何。
    老板有命令,必须做出来,这是一个项目需要的一项功能。
    谢谢。      [email protected]
      

  4.   

    截取WM_PAINT并不能使其输出重定象,
    WM_PAINT只是告訴程序應該重绘屏幕了。
    截取IE控件的屏幕输出不是什么难事,shines說的就可以了。
    关键是你scroll后怎么计算IE的输出,否则截下来的屏幕是裂的
      

  5.   

    谢谢kevin_qing,我再考虑一下,然后我们再讨论。
      

  6.   

        是不是可以这样,IE的打印是可以打出整个页面的,我可以写个虚拟的打印机的驱动程序,将页面打印输出到一个指定的文件,这样就解决了很多问题。只要windows能解释的格式,都能够打印出来。驱动可以提供打印设置的DLL,输出文件名可以在这里设置,分辨率也可以调整。
        如果html大小超出输出页面大小,windows也应该会正确的予以分割的。
        我写过不少驱动程序,打印机的没写过,我想不会太难吧。
        你觉得如何?
        谢谢。
      

  7.   

    magicwiard先生,您好:
       感谢您这么晚了还关心我的问题,我注意到您对我的还有一个帖子(有关USB接口的网络设备驱动的问题)也同样很有兴趣,不知您认为哪个问题比较容易解决一点。
       能帮我想想办法吗?
       谢谢。
      

  8.   

    Delphi4.0有一个控件不是基于IE的,你试试。
      

  9.   

    感谢各位的帮助,我已经解决了这个问题,是专门编写了一个虚拟的打印驱动,再在IE的ActiveX
    中将其打出。按理说,这分数应该给我自己,但为了答谢各位的帮助,我觉得还是大家共享为好。