- - PR -
USBの制御
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-10-06 17:39
お世話になります。
VisualBasic6.0(SP4)、Windows2000SP4で開発しております。 USB接続のバーコードリーダを用いたプログラムの開発ですが、 ある画面が起動したときは、USBバーコードリーダを使用不可にしその画面が閉じた時には 再度USBバーコードリーダを使用可としたいのですが、そういったことは可能なのでしょうか? 以前のログで http://pcweb.mycom.co.jp/column/winxp/117/ というのがあり試してみましたが、制御できませんでした。 何かいい方法がありましたらご教授よろしくお願いします。 | ||||
|
投稿日時: 2005-10-06 18:04
バーコードリーダのプログラムと、「ある画面」のプログラムの2つがあるということですか? 1つのプログラムなら内部でフラグを持つだけでしょう。 それとも、USBを使えなくする方法が知りたいのでしょうか。 _________________ たつごろー codeseek こみゅぷらす | ||||
|
投稿日時: 2005-10-06 18:35
やってみたことは無いけれど、たぶんこの辺りの機能を使えば出来るんじゃないかと・・・
IOCTL_INTERNAL_USB_CYCLE_PORT でも、現実的なところで、アプリケーション側で無視するなり、開放するなりの処理を行うほうが現実的だと思いますよ。何処のなんて機種か知りませんが、大抵のバーコードリーダーはキーボードか、シリアルデバイスとして認識されますよね。キーボードとして認識されているなら、特定の入力を無視すればよい話です。シリアルデバイスとして認識されるなら、シリアルポートを閉じれば済む話ですよね。 | ||||
|
投稿日時: 2005-10-06 18:46
上記の記事は、USBメモリについてですね。「ストレージデバイスクラス」という、Windows2000から導入された 「USB 大容量記憶装置ドライバ」のことなので、これでは無理のはずです。バーコードリーダはストレージデバイスではないですから。 HID(Human Interface Devices)でもなさそうですが… 手元にある「USBハード&ソフト開発のすべて」という本を眺めているのですが、いい方法が見つかりません。 ”ユーザーモードドライバ”レベルで有効/無効の制御ができれば、一番良いのですが。ないですか、そういう機能? おそらく、バーコードリーダ用のドライバをインストールして、制御するためのDLLが提供されていると思うのですが… なければ、直接メーカーに問い合わせるとか… [ メッセージ編集済み 編集者: Tdnr_Sym 編集日時 2005-10-06 18:48 ] | ||||
|
投稿日時: 2005-10-06 19:01
皆様ご回答ありがとうございます。
たつごろーさん: 1つのvbpプロジェクトで親画面から子画面の呼び出しもバーコードで、子画面でのバーコード入力を防ぎたいと考えております。子画面のときのみUSBを使用不可にしたいと思っております。他のUSBが全く使えなくなってもかまいません。親画面に戻った時には再度USBが使えるようになる方法を探しております。 甕星さん: USB ヒューマンインターフェースデバイスというのがデバイスマネージャに表示されておりますが、デバイスマネージャでも無効にするというメニューがありません。 Tdnr_Symさん: USBバーコードリーダはOSのドライバで認識しており、購入時の説明書には設定の仕方は記述してあるのですが、制御方法までは載っていません。 やはり難しいのでしょうか? | ||||
|
投稿日時: 2005-10-06 19:18
あ、HIDドライバだったんですね。 もうちょっと調べてみますが、あまり期待しないでください(~_~;) | ||||
|
投稿日時: 2005-10-06 19:29
Tdnr_Symさん、ありがとうございます。
USB販売メーカーにも技術的に可能なのか問い合わせてもらっております。 (当初メーカーに問い合わせという発想が思いつきませんでした、すいません・・・) | ||||
|
投稿日時: 2005-10-07 15:47
メーカに回答をいただき、該当製品では制御できないことが判明しました。
USBではなくRS232Cの製品だとできるそうです。 ありがとうございました。 |
1