このトピックでは、 My.Computer.Ports
を使用して Visual Basic でモデムにダイヤルする方法について説明します。
通常、モデムはコンピューター上のいずれかのシリアル ポートに接続されます。 アプリケーションがモデムと通信するには、適切なシリアル ポートにコマンドを送信する必要があります。
モデムをダイヤルするには
モデムが接続されているシリアル ポートを決定します。 この例では、モデムが COM1 上にあるものとします。
My.Computer.Ports.OpenSerialPort
メソッドを使用して、ポートへの参照を取得します。 詳細については、OpenSerialPortを参照してください。Using
ブロックを使用すると、例外が生成された場合でも、アプリケーションはシリアル ポートを閉じます。 シリアル ポートを操作するすべてのコードは、このブロック内またはTry...Catch...Finally
ブロック内に表示されます。Using com1 As IO.Ports.SerialPort = My.Computer.Ports.OpenSerialPort("COM1", 9600) End Using
DtrEnable
プロパティを設定して、コンピューターがモデムからの着信伝送を受け入れる準備ができていることを示します。com1.DtrEnable = True
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
ブロックを使用して、例外がスローされた場合でも、アプリケーションがポートを閉じるようにします。 詳細については、「ステートメントの 使用」を参照してください。
この例では、アプリケーションはモデムにダイヤルした後、シリアル ポートを切断します。 現実的には、モデムとの間でデータを転送する必要があります。 詳細については、「 方法: シリアル ポートから文字列を受信する」を参照してください。
こちらも参照ください
.NET