PC--->USBケーブルの通信機器--->携帯電話で通信を行っています。(Async通信)
携帯電話との通信は、COMポート経由のシリアル通信で行っております。
ここで質問があります。
PCからUSBケーブルの通信機器の抜去、また、挿入を実施した時に
プログラムで上記イベントを認識する方法はあるのでしょうか?
ケーブルの抜去、挿入した際に新たにatsコマンドを投げる必要があるのですが、
ケーブルの抜去、挿入が認識出来なくて困っています。
以上、
宜しくお願いします。
PlathomeSDK やDDKが無いと、多分、作れません。
お持ちですか?
一応、今回、やりたいことを実現しているソフトがありましたので
ご紹介しておきます。
http://www011.upp.so-net.ne.jp/flatsoft/soft/fs_about_fsdeviceaction.html
ご参考までに・・・
※ setupapi.dll に搭載されているAPIが解れば、作れます
が・・・SDKとDDKが必要になりますので・・・
以上。
> PCからUSBケーブルの通信機器の抜去、また、挿入を実施した時に
> プログラムで上記イベントを認識する方法はあるのでしょうか?
デバイスによっては、VB6のシステム情報コントロール(SysInfo)にて、
イベントとして取得できる事があります。
岡田 之仁さん、魔界の仮面弁士さん
ご回答有難うございます。
>>デバイスによっては、VB6のシステム情報コントロール(SysInfo)にて、
>>イベントとして取得できる事があります。
上記方法を試してみようと考えております。
イベントとしてSysinfo.DeviceArrivalの使用を考えておりますが、
Sysinfo.DeviceArrivalがソース上に出てきません。
(ソース上にSysinfo.まで記述するとイベントの一覧が出てくるのですが、
DeviceArrivalがありません。)
Verは、SystemInfo ActiveX Contol Ver6.00となっています。
上記問題について、
ご存知の方がいらっしゃいましたら、ご教授お願い致します。
> (ソース上にSysinfo.まで記述するとイベントの一覧が出てくるのですが、
ピリオドを打った時に入力補完されるのは、「イベント」ではなく、「プロパティ」や「メソッド」ですよ。
ご指摘有難うございます。
勘違いしておりました。もうちょっと調べてみます。
解決致しました。
有難うございました。
以下の記述で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
以上
ツイート | ![]() |