おいしいマクロの作り方 (3)

前回までの流れ

 第1回
 第2回

  • 「指定した時間経ったらマナーモードを解除する」マクロを作る
  • マクロには以下の機能が必要
    • 起動するとマナーモードになる
    • タイマーで指定した時間が経つとマナーモードを解除する
    • マナーモードを解除した際にタイマーが残らないようにする

使用するアプリを選ぶ

実現する機能が決まったら、それをどのように実現するか考えながら、マクロを作るために使うツールを決めていきます。
基本的にCondExecを使って、それでは面倒だったりできない部分をExecMulti、ExecIf、DoNothigやその他のツールで補完していきます。

マナーモードの設定/解除を行う

マクロ内で使う場合、設定/解除をパラメータとして直接指定できるものが必要です。
ということで今回はSetMannerを利用します。

一定時間経ってからSetMannerを実行する

時間経過後のアプリ実行は、CondExecを使うと以下のように実現できます。

  • A.CondExecのタイムアウト処理を使う
  • B.一定時間で自動終了するDoNothingを別に起動し、その終了をCondExecで監視する

AでもBでもできることは一緒です。
ただ、タイマー処理中に常駐しているアプリがA=1個、B=2個であり、Aのほうがよりスマートでしょう。
ということでAを採用します。

タイマーを途中で止める

タイマーを止める=CondExecを終了してやるわけです。

  • A1.CondExecの監視対象のアプリを起動してCondExecを終了する
  • A2.別のCondExecを終了オプションで起動し、CondExecを終了させる

A1でもA2でもCondExecを終了するために別のアプリを起動していますので、A1もA2も大した差がありません。

ここでは保留にしといて、どちらを利用するかはさらに設計が進んだ段階で再検討することにしましょう。