- PR -

バーコードリーダーの値を常駐プログラムで取得する方法

1
投稿者投稿内容
cabeliau
会議室デビュー日: 2007/09/25
投稿数: 3
投稿日時: 2007-09-25 14:21
初めまして、C#.NETで業務アプリケーションを作成しています。

今回、バーコードリーダーを使ったアプリの作成をしています。
常駐アプリケーション(タスクバー格納型)を作り、バーコードリーダーで
読み込んだ値(*9999999999*CRLF等)をログファイルへ保存するものです。
バーコードリーダーはUSB接続タイプで、HIDキーボードデバイスと認識され
ます。当方、ハードウェアが絡んだプログラムを作ったことがないので、戸
惑っております。手解きをして頂ければ幸いです。宜しくお願い申し上げます。
柴田 たけお
常連さん
会議室デビュー日: 2007/09/19
投稿数: 40
お住まい・勤務地: 米国カリフォルニア州オレンジカウンティー
投稿日時: 2007-09-25 14:49
C.NETの作成経験はあまりないのですが、WINDOWSなどのはいった
PC上などから入力デバイスとしてのバーコードから読み込んだ値をつかっての
加工ということでしょうか?
それであればバーコードの規格
(以下の例ではスタート&ストップ文字*のCODE39)
がきまっていれば
キーボードからデータをいれるごとにイベントをつかって
コントロールできるような気が・・・
キーボードから *9999999999*CRLF
を打ち込んだときのコントロールをするだけですので・・・


それともPC以外のOSのないマシンでよくある
ハンドヘルドバーコードリーダーの
組み込みソフトを作成されようとしているのでしょうか?
(C言語で自由に組み込めるバーコードリーダーはよくあるみあいですが)

勘違いなことをいっていたらすみません。
七味唐辛子
ぬし
会議室デビュー日: 2001/12/25
投稿数: 660
投稿日時: 2007-09-25 15:43
バーコードリーダーのマニュアル読めとしか
言いようがない。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2007-09-25 16:07
こんにちは。

引用:

cabeliauさんの書き込み (2007-09-25 14:21) より:
バーコードリーダーはUSB接続タイプで、HIDキーボードデバイスと認識され
ます。当方、ハードウェアが絡んだプログラムを作ったことがないので、戸
惑っております。



HIDキーボードデバイスとして使う分には、バーコードリーダーはキーボードと変わりないですね。
特にハードウェアだと身構える必要はありません。アプリケーションからはキーボード入力と区別ないですから。

ただ常駐プログラムでバーコード入力を監視するとなると、難しいと思います。
キーボードフックをするとなるとC#だけでは…

http://support.microsoft.com/default.aspx?scid=kb;ja;318804
引用:

グローバル フックは .NET Framework ではサポートされていない



cabeliau
会議室デビュー日: 2007/09/25
投稿数: 3
投稿日時: 2007-09-25 16:31
柴田たけお 様
 レスありがとうございます。前者の構造です。

七味唐辛子 様
 レスありがとうございます。仰る通りです。しかしバーコードメーカー各社の取り説にはキーボードでタイピングするのと同じ動作としか記載がないので、キーボードを制御したら良いのだという受け取り方をしました。

Tdnr_Sym 様
 レスありがとうございます。そう言って頂けると、若干ハードウェアの恐怖から開放されそうです。キーボードフックはC#だけでは無理なんですね。グローバルフックが必要な理由として、常駐型でウインドウを開いていない状態でも処理が行いたいという経緯があります。具体的に対策をもしお知りでしたら教えて頂けませんか?宜しくおねがいします。
Error401
常連さん
会議室デビュー日: 2007/03/12
投稿数: 39
投稿日時: 2007-09-25 17:40
シリアル通信を扱えるバーコードリーダーを採用することは可能ですか?
「バーコードリーダー シリアル通信」でググると幸せになれるかもしれません。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2007-09-25 19:01
引用:

cabeliauさんの書き込み (2007-09-25 16:31) より:
Tdnr_Sym 様
 レスありがとうございます。そう言って頂けると、若干ハードウェアの恐怖から開放されそうです。キーボードフックはC#だけでは無理なんですね。グローバルフックが必要な理由として、常駐型でウインドウを開いていない状態でも処理が行いたいという経緯があります。具体的に対策をもしお知りでしたら教えて頂けませんか?宜しくおねがいします。


具体的な対策も何も「ネィティブコードのDLLを作成するためにC++(Not C++CLI)を使ってください。」って話でしかないです。

_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
cabeliau
会議室デビュー日: 2007/09/25
投稿数: 3
投稿日時: 2007-09-26 11:30
未記入 様
レスありがとうございます。確かに、幸せになれそうな予感がしました。

甕星 様
レスありがとうございます。その一言があるだけでも参考になりました。
お礼申し上げます。
1

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