zoukankan      html  css  js  c++  java
  • WPF WebBrowser的打印方法

    1、引用system32中的SHDocVw.dll

    2、引用命名空间

        using System.Runtime.InteropServices;
      using SHDocVw;

    3、在所在的类定义变量

    代码
    [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    [Guid(
    "6d5140c1-7436-11ce-8034-00aa006009fa")]
    internal interface IServiceProvider
    {
       [
    return: MarshalAs(UnmanagedType.IUnknown)]
       
    object QueryService(ref Guid guidService, ref Guid riid);
    }
    static readonly Guid SID_SWebBrowserApp = new Guid("0002DF05-0000-0000-C000-000000000046");

    4、打印方法

    代码
                IServiceProvider serviceProvider = null;
                
    if (webbrowse.Document != null)
                {
                    serviceProvider 
    = (IServiceProvider)webbrowse.Document;
                }
                Guid serviceGuid 
    = SID_SWebBrowserApp;
                Guid iid 
    = typeof(SHDocVw.IWebBrowser2).GUID;
                SHDocVw.IWebBrowser2 myWebBrowser2 
    = (SHDocVw.IWebBrowser2)serviceProvider.QueryService(ref serviceGuid, ref iid);
                
    object NullValue = null;
                myWebBrowser2.ExecWB(SHDocVw.OLECMDID.OLECMDID_PRINT, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER, 
    ref NullValue, ref NullValue);


          

  • 相关阅读:
    Choosing the Type at Runtime
    User-Defined Components Must Be Capitalized
    Computed property names
    Controlled Components
    Handling Event
    State
    props
    Functional and Class Components
    招聘漂亮的员工
    Spread Syntax
  • 原文地址:https://www.cnblogs.com/nfyz/p/1930476.html
Copyright © 2011-2022 走看看