- PR -

USBの制御

1
投稿者投稿内容
チェイス
常連さん
会議室デビュー日: 2005/02/23
投稿数: 27
投稿日時: 2005-10-06 17:39
お世話になります。
VisualBasic6.0(SP4)、Windows2000SP4で開発しております。
USB接続のバーコードリーダを用いたプログラムの開発ですが、
ある画面が起動したときは、USBバーコードリーダを使用不可にしその画面が閉じた時には
再度USBバーコードリーダを使用可としたいのですが、そういったことは可能なのでしょうか?

以前のログで
http://pcweb.mycom.co.jp/column/winxp/117/
というのがあり試してみましたが、制御できませんでした。
何かいい方法がありましたらご教授よろしくお願いします。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-10-06 18:04
引用:

USB接続のバーコードリーダを用いたプログラムの開発ですが、
ある画面が起動したときは、USBバーコードリーダを使用不可にしその画面が閉じた時には
再度USBバーコードリーダを使用可としたいのですが、そういったことは可能なのでしょうか?


バーコードリーダのプログラムと、「ある画面」のプログラムの2つがあるということですか?
1つのプログラムなら内部でフラグを持つだけでしょう。

それとも、USBを使えなくする方法が知りたいのでしょうか。

_________________
たつごろー
codeseek
こみゅぷらす
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-10-06 18:35
やってみたことは無いけれど、たぶんこの辺りの機能を使えば出来るんじゃないかと・・・
IOCTL_INTERNAL_USB_CYCLE_PORT

でも、現実的なところで、アプリケーション側で無視するなり、開放するなりの処理を行うほうが現実的だと思いますよ。何処のなんて機種か知りませんが、大抵のバーコードリーダーはキーボードか、シリアルデバイスとして認識されますよね。キーボードとして認識されているなら、特定の入力を無視すればよい話です。シリアルデバイスとして認識されるなら、シリアルポートを閉じれば済む話ですよね。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2005-10-06 18:46
引用:

チェイスさんの書き込み (2005-10-06 17:39) より:

以前のログで
http://pcweb.mycom.co.jp/column/winxp/117/
というのがあり試してみましたが、制御できませんでした。



上記の記事は、USBメモリについてですね。「ストレージデバイスクラス」という、Windows2000から導入された
「USB 大容量記憶装置ドライバ」のことなので、これでは無理のはずです。バーコードリーダはストレージデバイスではないですから。
HID(Human Interface Devices)でもなさそうですが…

手元にある「USBハード&ソフト開発のすべて」という本を眺めているのですが、いい方法が見つかりません。

”ユーザーモードドライバ”レベルで有効/無効の制御ができれば、一番良いのですが。ないですか、そういう機能?

おそらく、バーコードリーダ用のドライバをインストールして、制御するためのDLLが提供されていると思うのですが…
なければ、直接メーカーに問い合わせるとか…


[ メッセージ編集済み 編集者: Tdnr_Sym 編集日時 2005-10-06 18:48 ]
チェイス
常連さん
会議室デビュー日: 2005/02/23
投稿数: 27
投稿日時: 2005-10-06 19:01
皆様ご回答ありがとうございます。

たつごろーさん:
1つのvbpプロジェクトで親画面から子画面の呼び出しもバーコードで、子画面でのバーコード入力を防ぎたいと考えております。子画面のときのみUSBを使用不可にしたいと思っております。他のUSBが全く使えなくなってもかまいません。親画面に戻った時には再度USBが使えるようになる方法を探しております。

甕星さん:
USB ヒューマンインターフェースデバイスというのがデバイスマネージャに表示されておりますが、デバイスマネージャでも無効にするというメニューがありません。

Tdnr_Symさん:
USBバーコードリーダはOSのドライバで認識しており、購入時の説明書には設定の仕方は記述してあるのですが、制御方法までは載っていません。

やはり難しいのでしょうか?
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2005-10-06 19:18
引用:

チェイスさんの書き込み (2005-10-06 19:01) より:

USB ヒューマンインターフェースデバイスというのがデバイスマネージャに表示されておりますが、デバイスマネージャでも無効にするというメニューがありません。



あ、HIDドライバだったんですね。
もうちょっと調べてみますが、あまり期待しないでください(~_~;)
チェイス
常連さん
会議室デビュー日: 2005/02/23
投稿数: 27
投稿日時: 2005-10-06 19:29
Tdnr_Symさん、ありがとうございます。

USB販売メーカーにも技術的に可能なのか問い合わせてもらっております。
(当初メーカーに問い合わせという発想が思いつきませんでした、すいません・・・)
チェイス
常連さん
会議室デビュー日: 2005/02/23
投稿数: 27
投稿日時: 2005-10-07 15:47
メーカに回答をいただき、該当製品では制御できないことが判明しました。
USBではなくRS232Cの製品だとできるそうです。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)