day8.3: メイン処理を実装する。

さぁ、材料はそろった。設定はConfigオブジェクトに読み込み済み、必要なウィンドウの情報はWindowオブジェクトがくれる、あとはマウスフックのコールバック関数にやりたいことを書くだけだ。

LeftButtonDownは…やることがない。ドラッグの開始座標を覚えるだけ。
LeftButtonUpが本番。
ドラッグの終了座標を取得し、
(1)操作対象プロセスのウィンドウ位置(上下左右)を取得する。
(2)操作が対象プロセスのウィンドウ内の、設定領域内か判定する。
(3)操作の内容が設定された操作と一致するか判定する。
(4)キーを送信する。

1つだけ、キーで指定された文字列が不正な場合に処理が失敗するが、そこは

try
{
  SendKeys.Send(area.key);
}
catch (ArgumentException ex)
{
  //特にやることがない
}

という例外処理を設けた。

処理を実装後、ビルドすると…、動く!動くよ!あぁ、なんか完成したっぽい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です