キーボードシミュレータは、指定された文字列の内容に従い、キーボード操作をシミュレートするツールです。クリップボードに対応していないソフトへ文字列を貼り付けたいときや、決まったキーボード動作をさせたい場合に使用できます。
現在、.NET Framework 2.0用が公開されています。
クリップボードに対応していないソフトウェアに、他のソフトからの情報を貼り付けたくなることはないでしょうか。作者は、あるバイナリファイル編集ソフトを用いているとき、クリップボードに未対応であることで、とても使いづらく感じたことがありました。
キーボードシミュレータは、キーボード入力をシミュレートすることにより、上記のようなソフトウェアに対する問題の解決を試みます。
このプログラムが採用している方式は、Win32APIの keybd_event() を呼び出し、キーボードの動作をシミュレートするというものです。
このプログラムを起動すると、ダイアログが表示され、そこに文字列を入力できる状態になります。もちろん、クリップボードにも対応しています。[OK]をクリックすると、数秒のウェイトの後、入力された内容に従ったキーボードシミュレートを開始します。これにより、クリップボードを介さない情報のコピーを実現します。
上記のように、クリップボード経由の貼り付けでは、受け取り側のアプリケーションがクリップボードからデータを連れてくることに対応していなければなりません。
キーボードシミュレータによる方式では、貼り付け側のアプリケーションがクリップボードからの貼り付けに対応していなくても、キーボードからの入力に対応していれば、貼り付けを行うことができます。
keybd_event() …… Windows上で動作しているアプリケーションに対し、キーボードの入力があったかのように思わせるためのAPI。キーボードシミュレータでは、例えば「ABC」という入力があると、keybd_event()を用いて「A を押す」「A を離す」「B を押す」「B を離す」「C を押す」「C を離す」という状態を順を追って作り出すことにより、「ABC」という入力をシミュレートする。なお、大文字が入力されるか、小文字が入力されるかは、そのときのCAPS/SHIFTキーの状態により変わる。キーボードシミュレータにより、シフトキーの押下状態等を強制的に作り出すこともできる。
このほかに、シフトキーや特殊キー(タブやリターンキー・ファンクションキー等)や、16進コードによるキーコードの指定などにも対応しています。詳しくは、ドキュメントを参照してください。