Compartilhar via


Como discar modems conectados a portas seriais no Visual Basic

Este tópico descreve como usar o My.Computer.Ports para discar um modem no Visual Basic.

Normalmente, o modem está conectado a uma das portas seriais no computador. Para que o seu aplicativo se comunique com o modem, é necessário enviar comandos à porta serial apropriada.

Para discar um modem

  1. Determine a porta serial à qual o modem está conectado. Este exemplo supõe que o modem esteja na COM1.

  2. Use o método My.Computer.Ports.OpenSerialPort para obter uma referência para a porta. Para obter mais informações, consulte OpenSerialPort.

    O bloco Using permite que o aplicativo feche a porta serial mesmo que ele gere uma exceção. Todo o código que manipula a porta serial deve aparecer dentro deste bloco ou em um bloco Try...Catch...Finally.

    Using com1 As IO.Ports.SerialPort =
            My.Computer.Ports.OpenSerialPort("COM1", 9600)
    End Using
    
  3. Defina a propriedade DtrEnable para indicar que o computador está pronto para aceitar uma transmissão de entrada do modem.

    com1.DtrEnable = True
    
  4. Envie o comando de discagem e o número de telefone para o modem através da porta serial por meio do método Write.

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

Exemplo

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

Este exemplo de código também está disponível como um snippet de código do IntelliSense. No selecionador de snippet de código, ele está localizado em Conectividade e Redes. Para obter mais informações, consulte Snippets de Código.

Compilando o código

Este exemplo exige uma referência ao namespace System.

Programação robusta

Este exemplo supõe que o modem esteja conectado à porta COM1. É recomendável que seu código permita que o usuário selecione a porta serial desejada em uma lista de portas disponíveis. Para obter mais informações, consulte Como mostrar portas seriais disponíveis.

Este exemplo usa um bloco Using para garantir que o aplicativo feche a porta mesmo que ele lance uma exceção. Para obter mais informações, consulte Instrução using.

Neste exemplo, o aplicativo desconecta a porta serial após discar o modem. Na verdade, você desejará transferir dados de/para o modem. Para obter mais informações, consulte Como receber cadeias de caracteres de portas seriais.

Confira também