tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル プラグアンドプレイでポートの開放、切断をしたい
投稿日: 2010/06/02(Wed) 14:37
投稿者たまご
使用言語:VB6
経験:半年
環境:windows2000
お世話になっております。
現在システム情報コントロールとMSCommを利用して
USB接続の仮想COMポートをプラグアンドプレイで認識したら
ポート開放、切断したらポートも切断するようなプログラムを
作りました。ですが、いざ動かすと意図しない現象が発生し原因が
さっぱりわからないので助言をいただきたいと思い質問しました。
現象としては
一回目の接続:イベント発生でポート開放
一回目の切断:イベント発生せず
二回目の接続:イベント発生せず、右下のタスクバーにハードウェア取り外しアイコンが表示
二回目の切断:イベント発生せず。アイコンは消える
三回目の接続:イベント発生せず。
三回目の切断:イベント発生でポート切断
四回目以降同じループ。
何回やってもイベントが発生しないならまだしもこのような現象は
どうして起こるのでしょうか。
希望する動作はやはり接続・切断されるたびにイベントが発生してほしいのです。
ポートを開放しなければこのような現象は現れません。
何か意見をいただけたら幸いです。よろしくお願いします。

※参考コード
Private Sub Form_Load()
MSComm1.CommPort = 3 'ポート番号設定
  ・・・ポート設定
End Sub

'接続イベント
Private Sub SysInfo1_DeviceArrival(ByVal DeviceType As Long, ByVal DeviceID As Long, ByVal _
DeviceName As String, ByVal DeviceData As Long)
        MSComm1.PortOpen = True  'ポートオープン
        Debug.Print "IN"; DeviceType 'イベント発生確認用


End Sub

'切断イベント
Private Sub SysInfo1_DeviceRemoveComplete(ByVal DeviceType As Long, ByVal DeviceID As Long, _
ByVal DeviceName As String, ByVal DeviceData As Long)
        MSComm1.PortOpen = False  'ポートクローズ
        Debug.Print "OUT "; DeviceType 'イベント発生確認用
    
End Sub

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。