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

前回までの流れ

 第1回 第2回 第3回 第4回 第5回

  • 「指定した時間経ったらマナーモードを解除する」マクロを作る
  • とりあえず作ってみた

動作検証する

いよいよ前回作ったものを[es]で動かしてみるわけですが・・・案の定動きませんw ということでデバッグ作業開始です。
CondExecは-debug=TRUEオプションをつけて起動するとデバッグモードになって、エラーチェックやアプリ実行パスを都度表示してくれるので、これを積極的に活用すると楽です。今回は、

  • 起動するためのランチャ設定orショートカット
    • プログラム=\Program Files\CondExec\CondExec.exe
    • パラメータ=-debug=TRUE -section=MannerToggle
      • そういえばこれ、前回書き忘れてました(^^;
  • ExecMulti execmulti.iniの[MannerTimer]セクション
    • \Program Files\CondExec\CondExec.exe|-execmode=open -showicon=true -debug=TRUE -section=MannerTimer

のように修正します。-debugは必ず-sectionより前に指定してください
また、CondExecやDoNothingのアイコンを表示しておくと状況を把握しやすいのでお勧めです。

CondExec CondExec.ini(実際に実行する部分)
[MannerToggle]
class=DoNothing
title=MannerTimer
check=current
trigger=running
exec=close
onunmatch=\Program Files\SimpleMenu\SimpleMenu.exe|MannerTimer.ini

check=currentとtrigger=runningを追加しました、省略時のデフォルト値を勘違いしてたためです(^^;
さらに行頭にTab文字入れてたら動かなかったんで削りました、これも勘違い(^^;

SimpleMenu MannerTimer.ini
[30分]
\Program Files\execmulti\execmulti.exe|MannerTimer_30

ここは問題ありませんでした。

ExecMulti execmulti.ini
[MannerTimer_30]
exec=\Program Files\DoNothing\DoNothing.exe|-execmode=open -alivetime=1800000 -showicon=true -title=MannerTimer
exec=\Program Files\execmulti\execmulti.exe|MannerTimer

[MannerTimer]
exec=\Program Files\SetManner\SetManner.exe|/on
exec=\Program Files\IfMsg\IfMsg.exe|マナーモードを設定しました
exec=\Program Files\CondExec\CondExec.exe|-execmode=open -showicon=true -section=MannerTimer

execが抜けてました、なんたるイージーミス・・・
そして30分=1800秒=1800000秒ですね、2桁も足りないでやんの(^^;
ただ、動作検証の際はつど30分待つのも面倒なんで短めにしてテストしたほうがいいです。

CondExec CondExec.ini
[MannerTimer]
class=DoNothing
title=MannerTimer
mode=both
trigger=closed
exec=\Program Files\SetManner\SetManner.exe|/off
exec=\Program Files\IfMsg\IfMsg.exe|マナーモードを解除しました
polling=10000

modeじゃなくてcheckでした、お恥ずかしい・・・(^^;;
前述のとおり行頭のTab文字も削ってます。



一通り動作検証が済んだら、-debugオプションを外して、タイマー時間も延ばして、利用時と同じ状況での最終検証をします。ここで問題点が見つかることも多々あります。というか今回のマクロもここで重大なのが見つかったわけでして・・・