C# 管理 WebBrowser Print
来源:互联网 发布:北大青鸟软件测试 编辑:程序博客网 时间:2024/06/06 08:33
webBrowser 在打印时想要监控打印状态可以做如下的事情
1.监控是否已经执行打印命令
2.是否打印事件已完成
监控打印执行 需要引用 Microsoft Internet Controls 具体如下:
using System.Reflection;using System.Threading;using SHDocVw;private void PrintFacture_Load(object sender, EventArgs e) { string content = "Some HTML+CSS"; webBrowser1.Navigate("about:blank"); if (webBrowser1.Document != null) { webBrowser1.Document.Write(string.Empty); } webBrowser1.Margin = new System.Windows.Forms.Padding(0, 0, 0, 0); webBrowser1.Document.Write(content); }private void PrintFacture_Shown(object sender, EventArgs e) { string keyName = @"Software\Microsoft\Internet Explorer\PageSetup"; using (RegistryKey key = Registry.CurrentUser.OpenSubKey(keyName, true)) { if (key != null) { string old_footer = key.GetValue("footer").ToString(); string old_header = key.GetValue("header").ToString(); key.SetValue("footer", ""); key.SetValue("header", ""); var wbax = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance; wbax.PrintTemplateTeardown += new DWebBrowserEvents2_PrintTemplateTeardownEventHandler(PrintDone); webBrowser1.Print(); key.SetValue("footer", old_footer); key.SetValue("header", old_header); } } }private void PrintDone(object sender) { var wbax = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance; wbax.PrintTemplateTeardown -= new DWebBrowserEvents2_PrintTemplateTeardownEventHandler(PrintDone); Application.Exit(); }
之后
检测一个print job 是否完成可以这样。
private void checkJobStatus() { bool isfinished = true; List<int> hairnetPrinterJobs = new List<int>(); SelectQuery query = new SelectQuery("Win32_PrintJob"); using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) using (ManagementObjectCollection printJobs = searcher.Get()) foreach (ManagementObject printJob in printJobs) { // The format of the Win32_PrintJob.Name property is "PrinterName,JobNumber" string name = (string)printJob["Name"]; string[] nameParts = name.Split(','); string printerName = nameParts[0]; string jobNumber = nameParts[1]; string document = (string)printJob["Document"]; string jobStatus = (string)printJob["JobStatus"]; } }
0 0
- C# 管理 WebBrowser Print
- C# Print
- C# WebBrowser
- C#引用webbrowser
- c# WebBrowser开发参考资料
- c# WebBrowser开发参考资料
- c# WebBrowser开发参考资料
- C# webbrowser 代理
- c#中WebBrowser控件
- C# webbrowser Frame操作
- c#中WebBrowser控件 .
- c# webBrowser截图
- C#中WebBrowser 用法
- js webbrowser C#
- C# webbrowser使用
- C# webbrowser Ajax call
- C# WebBrowser 打印问题
- c#中WebBrowser控件
- mybatis_generator自动生成 实体类,映射器,映射接口类
- GetOverlappedResult
- 如何理解spring的依赖注入
- Android中Fragment的使用
- js + php 处理 永远的敌人 特殊符号 1 在网页上的显示问题
- C# 管理 WebBrowser Print
- netty框架中的ChannelFuture 详解
- spring里的工具类,摘自spring3.0.5版本
- Java图形
- srand rand
- mysql解压版配置
- Giraph源码分析(一) —— 启动ZooKeeper服务
- SpringMVC上传下载,页面不刷新提交带附件的form表单
- 一起吃苦的幸福