WebBrowser打印后关闭网页

  在网页上使用webbrowser控件,可以实现无提示框,直接把页面输出到打印机进行打印。事实上,无提示打印之后,常见处理是直接自动关闭网页,但是这好象是个可能完成的任务。使用ExecWB(6,2)命令直接打印的时候,这个命令不阻塞进程,导致页面上,无法知道何时打印完成。
  这个问题困扰了我好长时间,原来以为可以用事件来解决,可是WebBrowser并没有打印完成的事件。网上找了好久,也没有找到解决方案。没有办法,只好看MSDN的帮助了。

  功夫不负有心人呀,对于ExecWB,执行打印命令的时候,还有一个参数,设置为2时,表示要等待打印结束。有了这个参数,就可以进行打印后的一些处理了(当然包括关闭网页,可以使用window.close关闭,也可以使用ExecWB(45,1)来关闭)。

  代码很简单了:
<object id="WebBrowser" width="0" height="0" 
classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"> 
</object> 
<input type="button" name="Button" value="打印后关闭" 
onClick="document.all.WebBrowser.ExecWB(6,2,2);setTimeout('window.close()',5000);"/> 



/***********本人原创,欢迎转载,转载请保留本人信息*************/
作者:wallimn 电邮:[email protected] 时间:2009-12-11
博客:http://wallimn.iteye.com
网络硬盘:http://wallimn.ys168.com
/***********文章发表请与本人联系,作者保留所有权利*************/


你可能感兴趣的:(html)