代码改变世界

发布:IE自动打印插件

2007-08-26 11:39  无常  阅读(6580)  评论(13编辑  收藏  举报


在IE5中可以使用Webbrowser控件的ExecWB方法来实现自动无提示打印,但在>=IE6版本此方法已经无效,此IE插件为此而产生。
此控件利用IE BHO技术,注册后可以在浏览器的加载管理器中看,如下图:
213412341234sdf.png

此插件只是调用IE内置功能。
函数声明:
void Print(bool PromptUser, int autoCloseInterval);
参数说明:
PromptUser:是否显示打印提示窗口;1显示,0不显示
autoCloseInterval:打印完后是否自动关闭当前IE窗口;0不关闭,n(n>0)秒后自动关闭。

使用:
window.external.Print(0,3);  //不显示打印提示,3秒后自动关闭当前IE窗口

产生背景:
前段时间做的一个项目,客户要求必需是B/S模式,而且要实现client端定时轮查并且自动打印出新的送货单。定时轮查可以用Ajax搞定了,可是自动打印却犯难了,google找好久都是些收费的全功能打印组件:(
同事点子,说写个程序,不断用FindWindow查找打印窗口,如果发现这个窗口,就自动点击“打印”按钮,想起来有点好笑,但却也是个没有办法的办法。
后来想到写个程序,嵌入IEBrower控件,使用ScriptableObject属性对其扩展,可是做好后客户却不满意,非得要在IE中使用才行。
没办法,找了N天的资料,才想到用BHO技术写了这个插件。
此插件是用Delphi写的,Client端不需要装.net FW,只是一个DLL文件,压缩包内有使用例子用用于注册/卸载的BAT文件。

下载自动打印插件.zip

无常作品
wuChang@guet.edu.cn
发布于 wuchang.cnblogs.com
20070826