我的环境 win2000 server sp4;vb6sp5使用win2000自带的Faxcomlib但是发送传真总是 跳出 打印确认对话框,如何把它去掉?
不能用sendkey 因为不可靠

解决方案 »

  1.   

    在调用Faxcomlib之前,先用CreateThread建立一个新的线程,在新线程中找到确认按钮的句柄后,给它发送bm_click消息
    可以参考:
    http://expert.csdn.net/Expert/topic/2751/2751231.xml?temp=.112652
      

  2.   

    rainstormmaster(暴风雨 v2.0) VB多线程,稳定性很差,调试时老死机,要做成服务稳定很重要啊。有没有设置什么参数的方法?或者标准API
      

  3.   

    向该窗口发送一个WM_QUIT信息.
      

  4.   

    //VB多线程,稳定性很差,调试时老死机先编译成exe文件(p-代码)再进行调试
    如果你只是想收发传真的话,当然还有其他办法
      

  5.   

    to MSTOP(陈建华(东莞立晨企业资讯服务有限公司))除了发消息没有别的办法了吗?我以前写的一个自动发邮件用的方法就是 发消息,但有时莫名其妙失效,
    可能是发送时机不当。
      

  6.   

    to MSTOP(陈建华(东莞立晨企业资讯服务有限公司))不好掌握这个时机,有没有更可靠的办法
      

  7.   

    记录窗体的标题.
    启动Faxcomlib时.用一个定时器 FINDWINDOW查找窗该窗体.如果发现.则向该窗口发送关闭消息.然后.停止定时器.
      

  8.   

    有没有别的办法,标准API是否有这个问题?有么有人试过?大家继续啊to  rainstormmaster(暴风雨 v2.0)
    你说还有别的办法能提示一下吗?
      

  9.   

    怎么我用FAXCOM组件,根本就什么废话都没有呢?不像你说的要确认一下啊。你按照什么类型的文件来发的?我是把打印内容直接导成BMP再发的。
      

  10.   

    我的代码如下:Private Sub FaxPic(PicName As String, Optional FaxNo As String = "")
       Dim lngSend          As Long
       Dim strComputer      As String
       Dim oFaxServer       As FAXCOMLib.FaxServer
       Dim oFaxDoc          As FAXCOMLib.FaxDoc
       
       If FaxNo = "" Then FaxNo = InputBox("传真号码:", GG.MSGTITLE)
       If FaxNo = "" Then Exit Sub
       
       strComputer = mComputerName
       Set oFaxServer = New FAXCOMLib.FaxServer
       oFaxServer.Connect strComputer
       oFaxServer.ServerCoverpage = 0   Set oFaxDoc = oFaxServer.CreateDocument(PicName)
       With oFaxDoc
          .FaxNumber = FaxNo
          .DisplayName = "Fax Server"
          lngSend = .Send
       End With
       Set oFaxDoc = Nothing
       
       oFaxServer.Disconnect
       Set oFaxServer = Nothing
    End Sub
      

  11.   

    //to  rainstormmaster(暴风雨 v2.0)
    你说还有别的办法能提示一下吗?
    你可以用mapi试试
      

  12.   

    to  junglerover(灌木丛)我们的代码差不多啊,但是会跳出那个打印对话框,你不点打印,就停在那里
    你的没有?你的环境是什么? 研究研究啊。
      

  13.   

    用钩子(WH_CALLWNDPROC)获得窗体句柄,再发送消息吧
      

  14.   

    我认为你出现这个问题有两个可能性:1。打印驱动问题。有些打印机的驱动就需要每打一页就确认一下,例如LQ300K置为分页打印模式时。如果你在WORD里直接点打印机图标打印都需要确认一下,那就是这个问题了。这个问题可以通过安装一个假的打印机,例如HP5L,再将其设为默认来解决。2。与你使用的文件类型相关的软件问题。我认为,FAXCOM组件在CreateDocument时,是调用与该文件类型相关的软件去打印了一下,例如你CreateDocument的是DOC文件,你就可以看到Word弹出来,闪了一下就关了。如果你使用的某种特别的文件类型,其打印之前就是要确认一下,那就会出现你的这种情况了。这个问题可以通过改一下使用的文件类型来解决。
      

  15.   

    to  junglerover(灌木丛) 经测试两方面都不是,我的假打印机是LQ1600K ,用的是.doc  word文件
      

  16.   

    LQ1600K在单页纸模式下也是要逐页提示放纸的,你改成随便一个激光打印机再看看?你在WORD里直接打印,是否的确没有任何提示,而调用传真就有?如果这样,我就没辙了。我的应用环境是:WIN2000 SERVER + VB6 SP5 + CANON L6000 打印机。在我的应用程序中点击“发送传真”,到传真发送完毕,其间不需要任何用户干预。不过,似乎只要对方不是自动传真机,就会发送失败。
      

  17.   

    to junglerover(灌木丛)不行啊,照你的方法试过了不行啊!
      

  18.   

    我把` junglerover(灌木丛) 的程序试了,也没有对话框, 估计还是   wbdx (碳离子)  的机器哪里设置不对。仔细找找吧。
    或者另做一FORM隐藏,放上定时器,FINDWINDOW查找打印确认对话框,然后让它确认。