嵌入网页的activeX怎样才能获得本页IE窗口的打印设置???
然后修改IE窗口的打印设置???

解决方案 »

  1.   

    look into 
    Printing and Print Spooler Functions
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_7mgj.asp
      

  2.   

    谢谢思归兄:现在的问题是IE窗口的页面设置中的参数是怎样获得和设置的。
    用API修改了打印机的默认参数后,IE当前窗口的设置是不变的,必须关闭后重新打开才能是刚才设置的参数?。。
      

  3.   

    not sure if this will help you (didn't test, so it might not work):HOWTO: Change Print Settings for Internet Explorer and WebBrowser Control Programmatically
    http://support.microsoft.com/default.aspx?id=236777
      

  4.   

    思归兄:
       以上文章中说:
       “可能需要以编程方式更改 Internet Explorer 或 WebBrowser 控件的打印设置。可以更改的设置仅包括页边距、页眉和页脚信息。对于更改其他设置,如页面方向或打印机等,尚没有受支持的方法。”我想对于更改其他设置,如页面方向或打印机等,是不是可以通过获得当前IE窗口的句柄然后再进行调整能,就像ScriptX一样它是使用的什么方法呢?
      

  5.   

    try to combine the above two methods
      

  6.   

    <!--控制打印时控制页面底部的路径和顶端的页码编号begin-->
    <SCRIPT LANGUAGE="VBScript">
         dim RegWsh
         dim hkey_root,hkey_path,hkey_key1,hkey_key2,Read_Data1,Read_Data2
         hkey_root="HKEY_CURRENT_USER" 
         hkey_path="\Software\Microsoft\Internet Explorer\PageSetup"
    '//设置网页打印的页眉页脚为空
         Sub PageSetup_null
                    on error resume next
            Set RegWsh = CreateObject("WScript.Shell")
            hkey_key1="\header"
                    hkey_key2="\footer"
                    Read_Data1=RegWsh.RegRead(hkey_root+hkey_path+hkey_key1)
                    Read_Data2=RegWsh.RegRead(hkey_root+hkey_path+hkey_key2)
                    if Read_Data1="" and Read_Data2="" then
                       msgbox "页眉页脚目前设置为空,不必重新设置!"
                    else
               RegWsh.RegWrite hkey_root+hkey_path+hkey_key1,""
               RegWsh.RegWrite hkey_root+hkey_path+hkey_key2,""
                       msgbox "成功设置打印页眉页脚为空!"
    end if
         end Sub
    '//设置网页打印的页眉页脚为默认值
         sub pagesetup_default
                    on error resume next
                    Set RegWsh = CreateObject("WScript.Shell")
    hkey_key1="\header"
                    hkey_key2="\footer"
                    Read_Data1=RegWsh.RegRead(hkey_root+hkey_path+hkey_key1)
                    Read_Data2=RegWsh.RegRead(hkey_root+hkey_path+hkey_key2)
    if Read_Data1="&w&b页码,&p/&P" and Read_Data2="&u&b&d" then
                       msgbox  "页眉页脚目前设置为默认值,不必重新设置!"
                    else
                    RegWsh.RegWrite hkey_root+hkey_path+hkey_key1,"&w&b页码,&p/&P"
                    RegWsh.RegWrite hkey_root+hkey_path+hkey_key2,"&u&b&d"
       msgbox "成功设置打印页眉页脚为默认值!"
    end if
         end sub
    </SCRIPT>
    <!--控制打印时控制页面底部的路径和顶端的页码编号end-->
    <input name="button" type="button" onclick=PageSetup_null value="清空页眉页脚" class="buttoninput">
    <input name="button" type="button" onclick=PageSetup_default value="恢复默认设置" class="buttoninput">
      

  7.   

    控制"纵打"、“横打”和“页面的边距”
    (1)<script defer> 
    function SetPrintSettings() { 
     // -- advanced features 
     factory.printing.SetMarginMeasure(2) // measure margins in inches 
     factory.SetPageRange(false, 1, 3) // need pages from 1 to 3 
     factory.printing.printer = "HP DeskJet 870C" 
     factory.printing.copies = 2 
     factory.printing.collate = true 
     factory.printing.paperSize = "A4" 
     factory.printing.paperSource = "Manual feed"  // -- basic features 
     factory.printing.header = "This is MeadCo" 
     factory.printing.footer = "Advanced Printing by ScriptX" 
     factory.printing.portrait = false 
     factory.printing.leftMargin = 1.0 
     factory.printing.topMargin = 1.0 
     factory.printing.rightMargin = 1.0 
     factory.printing.bottomMargin = 1.0 

    </script> (2) 
    <script language="javascript"> 
      function printsetup(){ 
      // 打印页面设置 
      wb.execwb(8,1); 
      } 
      function printpreview(){ 
      // 打印页面预览 
         
      wb.execwb(7,1); 
          
         
      }   function printit() 
      { 
      if (confirm('确定打印吗?')) { 
      wb.execwb(6,6) 
      } 
      } 
      </script> 
    </head> 
    <body> 
    <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT> 
    <input type=button name=button_print value="打印" onclick="javascript:printit()"> 
    <input type=button name=button_setup value="打印页面设置" onclick="javascript:printsetup();"> 
    <input type=button name=button_show value="打印预览" onclick="javascript:printpreview();"> 
    <input type=button name=button_fh value="关闭" onclick="javascript:window.close();"> ------------------------------------------------ 
    关于这个组件还有其他的用法,列举如下: 
    WebBrowser.ExecWB(1,1) 打开 
    Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口 
    Web.ExecWB(4,1) 保存网页 
    Web.ExecWB(6,1) 打印 
    Web.ExecWB(7,1) 打印预览 
    Web.ExecWB(8,1) 打印页面设置 
    Web.ExecWB(10,1) 查看页面属性 
    Web.ExecWB(15,1) 好像是撤销,有待确认 
    Web.ExecWB(17,1) 全选 
    Web.ExecWB(22,1) 刷新 
    Web.ExecWB(45,1) 关闭窗体无提示
      

  8.   

    楼上的,你说的scriptx组建,高级属性需要注册才能使用,我现在想自己编写这样的东东!