USBケーブルの脱着を認識するには?

解決


nacamw  2003-12-23 07:19:11  No: 81090

PC--->USBケーブルの通信機器--->携帯電話で通信を行っています。(Async通信)
携帯電話との通信は、COMポート経由のシリアル通信で行っております。
ここで質問があります。
PCからUSBケーブルの通信機器の抜去、また、挿入を実施した時に
プログラムで上記イベントを認識する方法はあるのでしょうか?

ケーブルの抜去、挿入した際に新たにatsコマンドを投げる必要があるのですが、
ケーブルの抜去、挿入が認識出来なくて困っています。

以上、
宜しくお願いします。


岡田 之仁  2003-12-23 08:42:23  No: 81091

PlathomeSDK やDDKが無いと、多分、作れません。
お持ちですか?

一応、今回、やりたいことを実現しているソフトがありましたので
ご紹介しておきます。

http://www011.upp.so-net.ne.jp/flatsoft/soft/fs_about_fsdeviceaction.html

ご参考までに・・・

※  setupapi.dll に搭載されているAPIが解れば、作れます
    が・・・SDKとDDKが必要になりますので・・・

以上。


魔界の仮面弁士  2003-12-23 09:18:22  No: 81092

> PCからUSBケーブルの通信機器の抜去、また、挿入を実施した時に
> プログラムで上記イベントを認識する方法はあるのでしょうか?

デバイスによっては、VB6のシステム情報コントロール(SysInfo)にて、
イベントとして取得できる事があります。


nacamw  2003-12-25 05:53:33  No: 81093

岡田 之仁さん、魔界の仮面弁士さん
ご回答有難うございます。

>>デバイスによっては、VB6のシステム情報コントロール(SysInfo)にて、
>>イベントとして取得できる事があります。
上記方法を試してみようと考えております。
イベントとしてSysinfo.DeviceArrivalの使用を考えておりますが、
Sysinfo.DeviceArrivalがソース上に出てきません。
(ソース上にSysinfo.まで記述するとイベントの一覧が出てくるのですが、
DeviceArrivalがありません。)
Verは、SystemInfo ActiveX Contol Ver6.00となっています。

上記問題について、
ご存知の方がいらっしゃいましたら、ご教授お願い致します。


魔界の仮面弁士  2003-12-25 08:37:45  No: 81094

> (ソース上にSysinfo.まで記述するとイベントの一覧が出てくるのですが、
ピリオドを打った時に入力補完されるのは、「イベント」ではなく、「プロパティ」や「メソッド」ですよ。


nacamw  2003-12-26 17:25:10  No: 81095

ご指摘有難うございます。
勘違いしておりました。もうちょっと調べてみます。


nacamw  2003-12-26 18:43:15  No: 81096

解決致しました。
有難うございました。
以下の記述でUSBケーブルの挿入を認識できるようになりました。

システム情報コントロール(SysInfo)を追加して、以下の関数を記述することによりUSBケーブルの挿入を認識できるようになりました。

Private Sub SysInfo1_DeviceArrival(ByVal DeviceType As Long, _
           ByVal DeviceID As Long, ByVal DeviceName As String, ByVal DeviceData As Long)
           
    Dim check_word As String
    Dim ret As Integer
    
    check_word = DeviceName        '挿入されたデバイス名を取得
    
    ret = InStr(check_word, "USB") 'デバイス名に"USB"の文字列は入っていますか?(該当されるデバイスの正式名称を入れる方がよいと思いますが。。。)
    If ret <> 0 Then
        MsgBox "USBデバイスが挿入されました。"
    End If
           
End Sub

以上


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加