読者です 読者をやめる 読者になる 読者になる

覚えられませんっ

元「覚えらんない人のためのオンラインソフト備忘録」。遅ればせながらブログ移行してみた次第。

スタートアップ用AHKスクリプト

ちょいと思い立ってやってみたことがなかなか具合がよいので書き留めておくことにする。
スタートアップ管理にはながらくみやすたっぷを使っていた。このソフトは曜日指定でスタートアップ起動するソフトを変えられるので、その点が非常に便利。でも、ふと考えたらこれAutoHotKeyでできるんじゃなかろうか。そのうえソフトの起動順もウェイト入れることも自在にできるし、パスが変わっても置換で一発だし、スタートアップもすっきりするし、いいことずくめじゃないかと。で、やってみた。以下、引用部分は俺のstartup.ahkから。

変数の宣言など

#NoTrayIcon;アイコン非表示
Week=%A_DDD%;曜日を取得
File="D:\CommonData\Documents\Database\日誌\%Week%曜日.txt"

俺は日誌を曜日ごとのテキストファイルで分割してつけているので、該当する曜日のファイルを起動時から常時開きっぱなしにしている。この件に関してはhttp://d.hatena.ne.jp/ka8823ge/20061103参照。ここまでが変数などの宣言部分。次からソフトを起動していく。

ソフトの起動

Run,でソフトを起動、sleepでウェイトを入れている。ウェイトの時間とかは超適当です。
記述した順番にウェイトを入れながら起動していくわけで、単にスタートアップにショートカットを作るより制御しやすいのは明らか。

Run, C:\Program Files\AutoHotkey\AutoHotkey.exe, D:\Data\Application Data\Autohotkey
Run, D:\App\ClipUT\eClip\eClip.exe
sleep, 1000 ;1秒ウェイトを入れる。
Run, D:\App\FileUT\Fenrir\fenrir.exe /pathfile=D:\App\FileUT\Fenrir\data\path.dat /scanfile=D:\App\FileUT\Fenrir\ScanRule.ini ,D:\App\FileUT\Fenrir\
Run, D:\App\Env\menuHacker\menuHacker.exe
sleep, 1000
Run, D:\App\Desktop\ysShadow\YzShadow.exe
sleep, 1000
Run, D:\App\Desktop\TTBase\TTBase.exe
sleep, 1000
Run, D:\App\lingoes_portable\Lingoes.exe
sleep, 1000
Run, C:\Program Files\Turukame\TuruKame.exe !
sleep, 5000
Run, D:\App\FirefoxPortable\FirefoxPortable.exe
WinWait, ahk_class MozillaUIWindowClass
WinMove, ahk_class MozillaUIWindowClass, , 1280, 0, 1280, 1024
sleep, 15000

しばらく環境も晒していないので、環境晒しの意味も込めて。一つ一つのソフトについては詳細を省きますので興味のある方はぐぐったりしてくださいね。なお、最後のFirefoxに関しては、セカンダリに全画面の大きさで出したいのにどうしてもプライマリのタスクバーの範囲分をあけてくれるので、WinMoveで強制的に1280X1024の大きさにしている。
ここまでは起動時に必ずする処理だが、常に必要ではないが起動時に「〜しますか」みたいに尋ねてくれるとうれしいなあなんて場合、次のセクションに書いておく。

実行するかどうかを尋ねる処理

MsgBox, 4, , 日付テンプレート、起動時間メールしますか?
IfMsgBox, Yes
{
Run, C:\Program Files\HIDEMARU\HIDEMARU.EXE /xNissiInsert.mac
Run,C:\Program Files\Turukame\TuruKame.exe sendnowquiet account=Gmail To=ka8823ge@gmail.com subject=起動時間 TemplBodyFile=D:\App\ClipUT\esPst\鶴亀メール日付自動記入.txt
}
else
{
Run,"%File%"
}

面倒なのでそのまま晒したが、これはたいへん個人的なもの。「はい」だと曜日ごとの日誌を開き、esPstから日誌のテンプレートを貼り付ける自作マクロを実行する。ついで起動時刻を自分のアドレスにメールで送る。「いいえ」の場合は曜日ごとの日誌テキストを開くだけになる。

曜日ごとの処理

さて、次は曜日ごとの処理になる。曜日ごとのルーティーンワークなどはここに記入しておく。1週間に一度だけ巡回するサイトなども、ここに記入しておけば忘れることなく開くことができる。

MsgBox, 4, , 曜日ごとの処理を中止しますか, 10 ;5秒待ってから実行
IfMsgBox, Yes
Return ;「はい」なら処理を中止
Goto, %Week%曜日
return

月曜日:
Run, D:\App\ETC\Gcal2PDF\Gcal2PDF_WIN_20080511_fat.jar ,D:\App\ETC\Gcal2PDF
return

火曜日:
Run, http://lukewarm.s101.xrea.com/
return

水曜日:
return

木曜日:
return

金曜日:
return

土曜日:
return

日曜日:
return

ここでは月曜日と火曜日だけ例を挙げてある。月曜日はGoogle Calendar超整理手帳フォーマットで印刷してくれるソフトを起動させている。しかも複数カレンダーを、自分が設定したカラー通りに出力してくれるという優れもの。明窓浄机さんより。火曜日は「AutoHotkeyを流行らせるページ」を開く例。

蛇足ながら

最後に、書き換えや追加の仕方を簡単に。
基本的に

Run,

に続けて実行ファイルのパスかURLを入れればオーケー。AutoHotkeyの場合スペースが入るパスも" "でくくる必要はない。オプションもそのまま書ける。実行時のフォルダを指定する必要がある場合は実行ファイルのパスのあとに,で区切ってフォルダのパスを入れればよい。
そんなわけで、俺のユーザーアカウントのスタートアップはこのAHKスクリプトへのショートカットが一つだけ。すっきりすっきり。