次の方法で共有


方法: 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 ブロックを使用して、例外がスローされた場合でも、アプリケーションがポートを閉じるようにします。 詳細については、「ステートメントの 使用」を参照してください。

この例では、アプリケーションはモデムにダイヤルした後、シリアル ポートを切断します。 現実的には、モデムとの間でデータを転送する必要があります。 詳細については、「 方法: シリアル ポートから文字列を受信する」を参照してください。

こちらも参照ください