大家都知道,用WebBrowser控件的WebBrowser.ExecWB(6,6) 可以实现直接打印不用选择打印机的功能;
但是现在发现,在winxp的机子上,装了sp2的机子都不能无法直接打印出来,即使将安全级别设置得最低,打印时也会弹出选择打印机的框,还有win2003上打了sp1补丁后也一样,不知道如何解决;注:用scriptx控件可以实现,但是还是想看能不能用WebBrowser实现

解决方案 »

  1.   

    http://dev.csdn.net/Develop/article/28/60523.shtm
      

  2.   

    to closetome :
      这位大虾没有看明白我的问题,不要随便把别人的帖子引用过来。这样浪费大家的时间。
      
      
      

  3.   

    呵呵,我是直接用javascript控件打印,不知是否適合樓主。
    1、把要打印的內容放到<div></div>裡。
    2、要打印時,調用JS函數:printdiv('TestDiv')。//其中"TestDiv"是要打印的DIV的ID
    3、printdiv函數如下:
    function printdiv(printpage)
    {
        var headstr = "<html><head><title></title></head><body>";
        var footstr = "</body>";
        var newstr = document.all.item(printpage).innerHTML;
        var oldstr = document.body.innerHTML;
        document.body.innerHTML = headstr+newstr+footstr;
        window.print();
        document.body.innerHTML = oldstr;
        return false;
    }
      

  4.   

    谢谢ydsunny;
    不过我需要的是直接打印不弹出选择打印机的对话框,
    你用的window.print()会弹出选择框的;
    还有我希望的是用WebBrowser控件的WebBrowser.ExecWB(6,6) ,原来都可以的,就是winxpsp2的
    机子不行,可能跟sp2补丁有关,但是不知道怎么设置。
      

  5.   

    没有办法实现在xpsp2,2003sp1下,以前开发web打印也是碰到这个问题!只能使用scriptx解决!
      

  6.   

    你的语句弄错了吧.我的是可以的。
    <p>
    <input type="button" value="打印" class="ButtonCss" onclick="document.all.WebBrowser.ExecWB(6,1)">
    <input type="button" value="直接打印" class="ButtonCss" onclick="document.all.WebBrowser.ExecWB(6,6)">
    <input type="button" value="页面设置" class="ButtonCss" onclick="document.all.WebBrowser.ExecWB(8,1)">
    </p>
    <p>
    <input type="button" value="打印预览" class="ButtonCss" onclick="document.all.WebBrowser.ExecWB(7,1);">
    <input type="button" value="关闭窗口" class="ButtonCss" onclick="javascript:window.close()">
    </p>
      

  7.   

    哦。对不起我记起来了。好像是不可以的。它阻止了此Active控件。
      

  8.   

    http://www.verydev.com/topicview-5114775.html
    看看这个地方有没有你要的答案,一页一页看太累了,还是你自己来看吧