ぺんちゃん日記

食と歴史と IT と。 Web の旅人ぺんじろうが好奇心赴くままに彷徨います 。

【AutoHotkey】 ユーザ固有のパラメータを設定ファイルに保存する。

先日ユーザー固有のパラメータを環境変数に保存するやり方を紹介しました。
その記事を投稿した後「ちなみに本来取り組むべき設定ファイルへの保存はどうやるのかな」と思い立ち、きっと誰かが実装しているだろう Google 検索してみました。
ドンピシャで見つかりまして、しかも結構しっかり作ってあります。

rcmdnk.com

なるほど ini ファイルで保存するのか。

IniWrite, Value, Filename, Section[, Key]

ahkwiki.net
ahkwiki.net

古い Windows の時代には ini ファイル、拡張子 ini がつくファイルに設定を保存していました。
当時はそれが常識だったので、設定ファイルの読み出しを言語が備わっていることが多かったです。
Auto HOT key もそのうちの一つだったということですね。

ini ファイルをどこに配置すれば良いのかと言いますと,ワーキングディレクトリA_WorkingDirのようです。
それはどこなんだと調べました。
どうやら実行スクリプトが配置されているディレクトリで良さそうです。
つまり、スクリプトのあるディレクトリにファイル名+. ini を作成しておけば設定ファイルとして利用されます。

小さな画面を用意するのも比較的簡単で、スクリプトのメニューから起動すれば短いコードで設定保存画面を実装できるようです。

Gui, Add, Text,, First name:
Gui, Add, Text,, Last name:
Gui, Add, Edit, vFirstName ym	; The ym option starts a new column of controls.
Gui, Add, Edit, vLastName
Gui, Add, Button, Default, OK	; The label ButtonOK (if it exists) will be run when the button is pressed.
Gui, Show,, Simple Input Example
Return		; End of auto-execute section. The script is idle until the user does something.
GuiClose:
ButtonOK:
Gui, Submit	; Save the input from the user to each control's associated variable.
MsgBox You entered "%FirstName% %LastName%".

ahkwiki.net

ここで作成した画面をトレイアイコンのメニュー(Auto HOT key の常駐アイコンを右クリックで開くポップアップ。)から呼び出せるように項目を追加するのですね。

Menu, tray, add, Item1, MenuHandler
Return
MenuHandler:
MsgBox You selected %A_ThisMenuItem% from menu %A_ThisMenu%
Return

ahkwiki.net

これからは環境変数ではなく、こいつを丸パク…参考にさせてもらうことにします。
もちろんパスワードを保存する場合には ini ファイルが他のユーザーから見えないように保存場所に気をつけて。