Поделиться через


Практическое руководство. Дозвон при помощи модема, подключенного к последовательному порту компьютера, в 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. В средстве выбора фрагмента кода он расположен в разделе Связь и сеть. Для получения дополнительной информации см. Code Snippets.

Компиляция кода

В этом примере нужна ссылка на пространство имен System.

Отказоустойчивость

В этом примере предполагается, что модем подключен к порту COM1. Рекомендуется, чтобы код позволял пользователю выбирать нужный последовательный порт из списка доступных портов. Дополнительные сведения см. в разделе Практическое руководство. Отображение доступных последовательных портов.

В этом примере блок Using позволяет сделать так, чтобы приложение закрыло порт, даже если он создает исключение. Дополнительные сведения см. в разделе Оператор using.

В этом примере приложение отключает последовательный порт после вызова модема. В действительности вам потребуется передать данные на модем и получить их от него. Дополнительные сведения см. в разделе Практическое руководство. Получение строк из последовательных портов.

См. также