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

更新:2007 年 11 月

此主题描述如何使用 My.Computer.Ports 在 Visual Basic 中使用调制解调器拨号。

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

使用调制解调器拨号

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

  2. 使用 My.Computer.Ports.OpenSerialPort 方法获取对端口的引用。有关更多信息,请参见 My.Computer.Ports.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 代码段。在代码段选择器中,此代码示例位于“连接和网络”中。有关更多信息,请参见如何:在代码中插入代码段 (Visual Basic)

编译代码

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

可靠编程

此示例假定调制解调器连接到 COM1。建议您的代码允许用户从可用端口列表中选择所需的串行端口。有关更多信息,请参见如何:在 Visual Basic 中显示可用的串行端口

此示例使用 Using 块来确保应用程序关闭端口,即使在引发异常的情况下也关闭端口。有关更多信息,请参见 Using 语句 (Visual Basic)

在此示例中,应用程序在使用调制解调器拨号之后断开与串行端口的连接。实际上,您希望向调制解调器传输数据或从调制解调器接收数据。有关更多信息,请参见如何:在 Visual Basic 中从串行端口接收字符串

请参见

任务

如何:在 Visual Basic 中将字符串发送到串行端口

如何:在 Visual Basic 中从串行端口接收字符串

如何:在 Visual Basic 中显示可用的串行端口

参考

My.Computer.Ports 对象

System.IO.Ports.SerialPort