dポイントプレゼントキャンペーン実施中!

キーバッファを見ることの質問です。

常駐ソフトなどで、どのアプリ上からでも押されたキーの内容を表示したり
格納したりしているものがありますが、
これはどのような方法をとっているのでしょうか?

できればそれをWEB上で応用できれば・・・と考えていますが、可能でしょうか?

例えば、JavaScriptでは、押されたキーが何かを判別することはできますが、
それはあくまで自アプリの中だけですよね。

Javaならば可能であるとか、そういったお答えでも構いません。

それではよろしくお願いします。

A 回答 (1件)

Windowsに限って言えば、Win32API の GetKeyboardState() を使用すると、現在のキーボード(バッファ)の状態を取得できます。

これをループ中で使用して常にキーボードの状態を監視し続ければ、ほとんどのキー入力を判断することができます。
それ以外の方法としては、システムフックを使用して全てのウインドウに送られるメッセージを盗み見て判断することもできます。

これらをWeb上で応用するためには、対応プラットフォームをWindowsに限定して、上記の機能ををラップしたActiveXコントロールを作成して、セキュリティ認証をくぐって配布(ダウンロードさせる)を行い、ユーザーにActiveXコントロールの実行を許可させなければなりません。まあ、不可能では無いと言ったところですが、大変な労力と出費(デジタルサイン代年間10万円強程度)が予想されます。

Javaは知らないので何ともいえませんが、「それができる」=「大きなセキュリティーホールを抱えている」の図式が成り立つと思います。

また、キーバッファを見るという操作は、比較的低レベルな操作なので、どのプラットフォーム上でも実現できる汎用的な方法という物は無いと思います。

この回答への補足

一つ思ったのですが、
キー入力の判断の機能をラップしたActiveXコントロールを作成して
それを組み込んだHTMLを、アクティブデスクトップで使用すれば、
表示している画像をキーの反応によって動かすということも可能になるでしょうか?

理論的には可能なように思うのですが、いかがでしょうか?

よろしくお願いします。

補足日時:2002/08/21 10:39
    • good
    • 0
この回答へのお礼

丁寧なお答え、ありがとうございます。

確かにWEB上で上記のことを行うのは大変な労力となりそうですね。
結局はスタンドアロンで動かすほうが無難だと思いました。
一旦ソフトウェアをダウンロードしてもらい、その後で実行・・・ということでやってみようかと考えています。

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

お礼日時:2002/08/21 10:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!