如何:在 Visual Basic 中使用连接到串行端口的调制解调器拨号

本主题介绍如何在 Visual Basic 中使用 My.Computer.Ports 进行调制解调器拨号。

通常,调制解调器连接到计算机的某个串行端口。 若要使应用程序与调制解调器通信,必须将命令发送到相应的串行端口。

调制解调器拨号

  1. 确定调制解调器连接到的串行端口。 此示例假定调制解调器在 COM1 上。

  2. 使用 My.Computer.Ports.OpenSerialPort 方法获取对端口的引用。 有关详细信息,请参阅 OpenSerialPort

    Using 块允许应用程序在即使会生成异常的情况下也关闭串行端口。 操作串行端口的所有代码都应出现在此块中,或者出现在 Try...Catch...Finally 块中。

    Using com1 As IO.Ports.SerialPort =
            My.Computer.Ports.OpenSerialPort("COM1", 9600)
    End Using
    
  3. 设置 DtrEnable 属性,指示计算机已准备好接受从调制解调器传入的传输。

    com1.DtrEnable = True
    
  4. 通过 Write 方法将拨号命令和电话号码从串行端口发送到调制解调器。

    com1.Write("ATDT 555-0100" & vbCrLf)
    

示例

Sub DialModem()
    ' Dial a number via an attached modem on COM1.
    Using com1 As IO.Ports.SerialPort =
            My.Computer.Ports.OpenSerialPort("COM1", 9600)
        com1.DtrEnable = True
        com1.Write("ATDT 555-0100" & vbCrLf)
        ' Insert code to transfer data to and from the modem.
    End Using
End Sub

此代码示例也可作为 IntelliSense 代码片段。 它位于代码片段选取器的“连接和网络”中。 有关详细信息,请参阅代码片段

编译代码

该示例需要引用 System 命名空间。

可靠编程

此示例假定调制解调器已连接 COM1。 建议使代码允许用户从可用端口列表中选择所需串行端口。 有关详细信息,请参阅如何:显示可用的串行端口

本示例使用 Using 块来确保应用程序在即使会引发异常的情况下也关闭端口。 有关详细信息,请参阅 Using 语句

在本例中,应用程序拨打调制解调器后断开了串行端口。 实际上,需要将数据传入和传出调制解调器。 有关详细信息,请参阅如何:从串行端口接收字符串

另请参阅