Hotkey Reciever 開発室

ここではHotkey Recieverの開発について書いていきます。

実装したい機能を列挙していって、それを実現するにはどうすればよいのか。開発側の視点から記事を書いていきたいと思っています。

Hotkey Recieverの目次はこちら

そもそも何をするソフト?

ホットキーをトリガー(契機)として何らかのアクションを起こさせるソフトになります。

「何らかのアクション」はスクリプトを記述したり、あらかじめ組み込まれたアクションを組み合わせることで実行させます。スクリプトエディタに関しては別途項目を設けて開発します。

ホットキーは実際にキーボードからの入力の他、ホットキーを発動させるマウスジェスチャソフトがあればその機能から、あるいは物理的なデバイス用のドライバーを利用し、デバイスにホットキーを割り当てることにより発動させることも可能かと思います。

僕は個人的にはマウスジェスチャはこちらのポータブル版を使っています。
StrokesPlus.net

機能面からの分類と記事へのリンク

利用目的(具体例)

・複数のウィンドウを開いている場合にホットキーで目的のウィンドウを一発で前面に表示させる
・何らかの事情でウインドウ位置がバラバラになった場合にホットキーでウィンドウを再配置する
・ウィンドウのサイズを設定する

・・・など。

内部処理

・基本的な動作はホットキーを受けてスクリプトを実行させること。
・ソフトウェアを起動すると設定してあるホットキーリストを読み込みそれらを登録。
・起動後はタスクトレイに常駐しホットキー入力を待つ。
・スクリプトの初期設定はスクリプトエディタのイベントで設定
・ソフトウェアの終了はトレイアイコンを右クリックしてコンテキストメニューから終了を選択。
・ソフトウェア終了の際にホットキー登録を解除。
登録項目はレコードデータで整理しリスト化して保存する。
・付属情報は別途レコードを作成しリスト化して保存する。

ホットキークラスの作成
 ・ホットキーを受ける処理
 ・登録すべきホットキー定義と登録しておくリストを作成

ToDoと対策と記事へのリンク

ToDo内容 状態 備考
アプリケーションをタスクトレイに配置&コンテキストメニューの処理 完了 対応コンポーネントで処理
⇒ TrayIcon PopupMenuコンポーネント
ホットキーを登録・削除する処理 着手 ホットキークラスにて対応。
ホットキーを受ける処理 着手 メインフォームにてメッセージ処理
⇒ procedure WMHotKey(var Message: TMessage); message WM_HOTKEY;
入力されたホットキーを判別しスクリプト実行。
ホットキーリストのレコード定義を設定 着手 どのホットキーを登録するかということと付属して登録すべき項目の設定 ⇒ HotKeyRecieverの登録項目
ホットキー情報を設定するためのUIを作成 未着手 レコード定義が確定した後に作成
スクリプト処理 未着手 共通スクリプト部はスクリプトエディタの項目で。
アプリ固有のスクリプトについては別途作成。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする