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

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

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

调制解调器拨号

  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 语句

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

另请参阅