ある忘れっぽいプログラマの覚書

忘れっぽい自分のためのプログラム作成に関連したアイデアなどの備忘録

← 2006年8月 →

1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
My Yahoo!に追加 RSS
Counter

2006年8月28日(月)

CEでのキーフックについて

WindowsCEではSetWindowsHookExが公式にはサポートされていないが(標準ヘッダにない)適当なプロトタイプ宣言があれば使える、いわゆる隠しAPI(?)である。

ただ以下のような制約がある。
1.有効なフック種別はWH_KEYBOARD_LLのみ
2.フックはグローバルに一つのみ有効
貧弱なんだけど代わりがないのでキー入れ替えユーティリティのほとんどが使ってたりする。

ここで問題になるのが2の制約でSetWindowsHookExを使えるソフトは同時に一個に限定されてしまう。
隠しAPIに文句をつけても仕方がないので、何とかならないか試してみた。
結果何とかなったようなので、とりあえず人柱を求めて晒してみる

http://www.geocities.jp/hou_ming_2/beta/multikeyhook.zip
[追記8/31]
うまく実機で動作しないようですので消しました。

・人柱版なのでそれなりの覚悟で使用すること
・当然のように説明書はない。ファイル見てもインストール手順が分からないような人にはおすすめしない。
・こいつの設定を変更すると、それまでのキーフックはすべて解除される。
・キーフックはSetWindowsHookExを実行した順に行われる。
・多分ほとんどのキーユーティリティが多重フックを想定して作られていないので、キーユーティリティを複数動かすとどういう事体がおきるかわからない、無保証である
[追記8/30]
・リセット時に設定は保存されない(通常の状態になる)
・例によってエミュレータでの確認しかしてないので実機での動作は不明
[/追記8/30]

動作(or不動作)報告はウェルカムである。ただし使用ソフトや発生する事象などは整理しておいてほしい。間違っても、こちらには何の報告もせずに自分のブログや他所の掲示板などに「うまく動かないんだけど」とか書かないように!

作成者 ホーミン : 2006年8月31日(木) 03:16 [ コメント : 14]