User manual - DT-5100 エミュレータ開発解説書ver.3.00(2004年3月8日)
3 スキン上のトリガキーの処理
3.1 スキン上のトリガキーの処理
スキン上に配置されたキーを押下すると、エミュレータの定義ファイルで指定したキーコードを Windows のメ
ッセージバッファにキューイングしますが、トリガキー(スキャナ)動作は押下したキーコードではなく、スキ
ャンデータを発生する必要があります。
そのために、スキン上のキーの押下を検出する仕組みとしてシステムフックを使用します。
システムフックは、キーボードメッセージがメッセージキューにキューイングされるときに、
SetWindowsHookEx()関数の引数で指定した DLL および DLL 内の関数をコールしてもらいます。
フックモジュールは次の処理を行います。
トリガキーの押下を OBR および2D スキャナライブラリに通知します。
(通知を受け取ったエミュレータライブラリはスキャナデータを作成し、アプリケーションのからの読み出
し関数で返却します。)
3.2 トリガー制御モジュールの自動実行
Windows システムが起動したときにシステムフックを登録する(SetWindowsHookEx()を実行する)ために、
登録用のアプリケーションを自動実行するように以下のようにしています。
エミュレータの NK.BIN の「 Windows¥スタートアップ」フォルダに゙システムフック登録用アプリケーションを
格納するようにしています。
5