http://210.75.132.33/lakes/detail.asp?id=240
拨号程序

解决方案 »

  1.   

    好象以前有人问过这种问题:
      如下:
        MsComm comm1
        comm1.outputΚ″ATQOV1WOSOΚ1&C1&D2&YOWO″′初始化Modem串口初始化、设置程序           在程序初始化时,先对串口初始化。因为使用RTS/CTS握手信号的硬件设备只有
               RTS信号置为高才能接收数据,所以需将MSCOMM通信控件的RTSenable属性设为
               TRUE。由于Modem在处于命令状态时,通过串口发送的命令以及命令结果均会回显
               在输入缓冲区中,因此在进入在线状态前,禁止产生EV-RECEIVE事件,避免数据
               误处理。           由于Windows是多任务系统,在进行数据收发循环处理时,应调用DOEVENTS事件,
               将控制权交还系统,允许Windows执行其他任务。但应注意,在处理OnComm事件时
               小心使用DOEVENTS,避免系统又产生OnComm事件,造成嵌套,出现堆栈溢出错
               误。
               Sub form1.Form_Load()
                      comm1.CommportΚ1′COM1口通信
                      comm1.SettingsΚ″9600,N,8,1″′波特率9600,无校验,8位数据位1位停
               止位
                      comm1.OutBufferSizeΚOUTPACK′设置输出缓冲区大小
                      comm1.InBufferSizeΚINPACK′设置输入缓冲区大小
                      comm1.InputLenΚ1′每次从输入缓冲区中取一个字符
                      comm1.RTSenableΚ-1′RTS信号为高
                      comm1.RthresholdΚ0′不产生MSCOMM-EV-RECEIVE事件
                      comm1.PortOpenΚ-1′打开串口
                      cdKcomm1.CDHolding′取载波检测信号线原始状态
                      comm1.outputΚ″ATQOV1WOSOΚ1&C1&D2&YOWO″′初始化Modem
                       Do DoEventsLoopUntilcomm1.OutBufferCountΚ0
                End Sub