Autoit でプログラムを作る際に、プログラムの起動回数を記録したいということがあるかと思います。
今回は、指定したプログラムを本日何回起動したかを判断するサンプルコードを紹介します。
サンプルコード
$NumberOfTimes = @YEAR & @MON & @MDAY
$INI = @ScriptDir & "\test.ini"
$Number = IniRead($INI, $NumberOfTimes, "Number", "")
If Not $Number Then $Number = 0
If $Number = 0 Then
MsgBox(0, 0, "あなたは今日初めてこのプログラムを起動しました。")
Else
MsgBox(0, 0, "あなたは今日" & $Number & "回このプログラムを起動しました。")
EndIf
IniWrite($INI, $NumberOfTimes, "Number", $Number + 1)
コードの解説
$NumberOfTimes = @YEAR & @MON & @MDAY
変数 $NumberOfTimes に本日の年月日を代入します。
$INI = @ScriptDir & “\test.ini”
INIファイルの置き場所を決め、変数 $INI に代入します。
$Number = IniRead($INI, $NumberOfTimes, “Number”, “”)
INIファイルから値を読み込み、変数 $Number に代入します。
If Not $Number Then $Number = 0
もしも 変数 $Number が False なら、変数 $Number に 0 を代入します。
If $Number = 0 Then
MsgBox(0, 0, “あなたは今日初めてこのプログラムを起動しました。”)
もしも 変数 $Number が 0 ならば、本日初めて起動したことになるので、”あなたは今日初めてこのプログラムを起動しました。”というメッセージボックスを表示します。
Else
もしも 変数 $Number が 0 でないなら
MsgBox(0, 0, “あなたは今日” & $Number & “回このプログラムを起動しました。”)
“あなたは今日($Number に代入された数値)回このプログラムを起動しました。”というメッセージボックスを表示します。
EndIf
IniWrite($INI, $NumberOfTimes, “Number”, $Number + 1)
本日起動した回数に 1 を足した数値を INI ファイルに書き込みます。
INI ファイルの中身は次のようになっています。
[20220715]
Number=3
[20220716]
Number=1
キー名 Number= の後の数値が起動した回数になります。
このプログラムは、起動するたびに INI ファイルの読み込み、書き込みを行い、起動した回数を判断します。
日付が変わると、@YEAR & @MON & @MDAY の部分が変わるので、新しいセクション名が書き込みされます。
新しいセクション名が書き込みされると、Number の値が空になるので、また 0 からのカウントになります。
サンプルコードの応用方法
非常にシンプルで簡単なコードですが、とても有用なプログラムですので、サンプルコードをコピーして動作を確認し、自分のものにしてください。
このプログラムを応用すれば、プログラムの起動回数がわかるので、例えば 3 回起動したら次はプログラムをロックして使えないようにする。
3 回目の起動で別のプログラムを起動するなどができますね。
コメント(降順)