AHKのソフトにTRRを混ぜ込む
AHKのソフトにTRRを混ぜ込む
このTRR は、「既存の AHK で作られているもの」に混ぜ込んで使えるようになっています。
「既存の AHK で作られているもの」のソースコードに、 TRR のソースコードを加える事でそれが可能です。
既存のというより、「作成途中の AHK で作られているもの」のソースコードに混ぜて使ってもよいと思います。
それをする利点として、 TRR の テキスト から関数を実行できるので、作った関数のテストがしやすいという利点があります。
userMakeScript を使う場合との違い
ユーザーが作ったスクリプトと TRR のソースコードを混ぜる事になるので、 userMakeScript のフォルダ内のを使った場合と同じと言えば同じです。
userMakeScript のフォルダ内のを使った場合の方は、 TRR にユーザーのスクリプトを混ぜるといった使い方です。
今回の TRR を混ぜ込むやり方は、ユーザーが作った AHK のものに、 TRR を混ぜ込むといったものです。
実行した場合の違いとして、今回の TRR を混ぜ込むやり方を使った場合は、 タスクトレイのアイコンや、それを右クリックして表示するメニューが TRR を起動して使った場合とは違う事になります。
タスクトレイからのメニューが違うので、そこから テキスト を表示するといった事は出来ません。
同じ様なメニューを使う場合はユーザーが用意をする必要があります。
以下のスクリプトを 起動時に実行するアイテム などに加えるとタスクトレイに メインのメニュー が加わります。
Menu, Tray, Add, メインのメニュー(&M), :D_menuMain
TRR を混ぜ込む使い方のメリットとデメリット
TRR を混ぜて使う場合の利点と欠点を挙げておきます。
利点
-
関数やサブルーチンが
TRR
の
テキスト
から実行できる。
サブルーチンは Gosub を使う。 - TRR はキーを設定しやすいので、キーから使用できる様にしたりそのキーをオフにしたりできる。
欠点
- 起動に時間がかかる様になる。再起動するのに時間がかかる。
- TRR が丸ごと入っているので、その分のRAMのメモリーを使う。
- 要らなくなった場合、取り除く手間がかかる。
ListTimerBU に TRR を混ぜ込んでみる
TRR を混ぜ込んで使う例として、 ListTimerBU に混ぜ込む例を紹介します。
ListTimerBU
は、このホームページのトップページで紹介しているソフトです。
タイマーのソフトです。
今回は、これのソースコードの方を使います。
ListTimerBU のソースコードは以下のページでも挙げてますので、そこを経由してダウンロードのページへ移動してください。
TRR を混ぜる手順
TRR を混ぜる手順を順番に紹介します。
-
TRR の trrEvery のフォルダを丸ごと ListTimerBU のフォルダにコピーする。
-
ここの部分は ListTimerBU に混ぜる場合にのみ必要な操作です。
TRR と同じファイルと関数を使っているため、それの #Include を取り除く必要がある。
trrEvery\src\var2\newAhk_Gui\startTrrVar2\subroutineAndFunction.ahkのファイルを編集する。
#Include %A_ScriptDir%\trrEvery\src\commonSrc\functionCommon.ahk #Include %A_ScriptDir%\trrEvery\src\commonSrc\guiCommonFunction.ahk #Include %A_ScriptDir%\trrEvery\src\commonSrc\windowCommonFunc.ahk #Include %A_ScriptDir%\trrEvery\src\commonSrc\otherLibFunc.ahkこの部分を削除かコメントアウトする。
-
timerMainNewAhk32.ahk のファイルを編集する。
global trrma_bitVar := "32ビット" global trrma_sign := "TextRunRun入りのタイマー" #Include %A_ScriptDir%\trrEvery\src\var2\newAhk_Gui\startTrrVar2\startUpExecute.ahkこれを Auto-execute セクション を終わらせる return の前の行あたりに記入する。
次に、 return の後の行あたりに
#Include %A_ScriptDir%\trrEvery\src\var2\newAhk_Gui\startTrrVar2\subroutineAndFunction.ahkを記入する。
なお、 timerMainNewAhk32.ahk のファイルの場合、すでに記入されており、コメントアウトされている状態になっている。
なので、 ; を取り除いてコメントアウトを解除するだけでもよい。
以上の手順を行えば完了です。
混ぜたものを実行すると
起動する時は、編集した timerMainNewAhk32.ahk のファイルを同じフォルダにある AutoHotkey.exe にマウスドラックをすれば起動します。
起動すると、
TRR
を起動した時と同じ様に
マウス操作のウインドウ
が表示されると思います。
設定によりますが。
つまり、 TRR と同じである事が確認できると思います。
ListTimerBU を少し改良する
TRR を混ぜ込む事はこれで完了しています。
とはいっても、このままでは TRR を混ぜ込んだ意味があまりないため、 ListTimerBU に少し改良を施します。
これ以降の説明は、以下のファイルをダウンロードしたとして進めます。
ダウンロードして解凍した後にできる
ListTimerBU_TRR_userPlus
のフォルダの中に、
userPlus_replace
のフォルダがあります。
そのフォルダ内にあるファイルやフォルダを
この位置にある userPlus の中にある、ファイルやフォルダと置き換えます。
なお、
の方にも
userPlus
がありますが、こっちではありません。
ListTimerBU
の方の
userPlus
を置き換えます。
置き換えるファイルは以下のファイルです。
- actionOfChangeListBox.ahk
- anyScriptExecute.ahk
- startButtonSetting.ahk
-
startup
フォルダ内
- afterGuiMakeStartup.ahk
- beforeGuiMakeStartup.ahk
置き換える前に、 userPlus を移動かバックアップしておくのもよいと思います。
もっとも、 userPlus の中には default のフォルダがあります。
この default の中には、 userPlus 内のファイルと同じものが入っているので、元に戻したい時は default 内のものを使えば元に戻す事が可能です。
ダウンロードした、 ListTimerBU_TRR_userPlus 内の userPlus_replace には default は入っていないので、丸ごと置き換えても上書きしてしまう事は無いと思います。
userPlus を置き換えると
userPlus の中のを置き換えた後に、 TRR のソースコード版を混ぜ込んだ ListTimerBU を起動すると、 ソフト のウインドウの下側に以下の様な項目が増えています。
表示しない場合は、タスクトレイにある ListTimerBU のアイコンを右クリックして 標準の位置に全て戻す を選んでください。
ListTimerBU
は、ウインドウの大きさを保存するしくみになっているので、一度それを解除します。
その後に
ソフト
のウインドウを見てみてください。
現れたこのチェックボックスにチェックを入れた状態でタイマーのスタートボタンを押すと、 ソフトのパス に記入していた文字を 一行テキスト と同じ処理として扱って実行する、という新機能が追加されます。
時間が経過した後に実行します。
それと、
アラームではなくソフトを起動
のチェックボックスにもチェックをしておく必要があります。
試しに、
&guiShow %B_GuiNumText1%
とでも記入して
を押してみてください。
時間が到達すると、 テキスト1 が表示します。
ListTimerBU に TRR を混ぜ込む使い方の説明は以上で終わります。
ListTimerBU は、 TRR を混ぜて使う使い方を想定して作られているので、 「TRR を混ぜた事によって使える関数」などが使えるようになります。
ただ、これ以降は話が脱線するため別のページで説明をします。
最後に
とりあえず、 AHK で作られているものに、 TRR を混ぜ込むんで使う事の説明は以上です。
TRR を混ぜ込むと、 TRR が丸ごと入っているので起動が遅くなってしまいますが、 テキスト から関数やサブルーチンのテストができたりします。
興味がある方は この TRR のソースコードを混ぜ込む使い方を使ってみてください。
最後に何ですが、 TRR のソースコードを混ぜ込むに当たっての注意をあげます。
-
関数名やサブルーチン名やグローバル変数名が TRR のソースコードのそれと被っている場合は使用できません。
-
TRR は、 60 から 90 近くの番号のGuiを占有しています。
ですので、 混ぜ込もうとする AHK のGuiの番号が重なっている場合は、Guiが重なる事になってしまいます。
それと、 51 から 59 の番号のGuiに関してですが、
51GuiClose 、 51GuiContextMenu 、 51GuiDropFiles 、 51GuiEscape 、 51GuiSize などのサブルーチンが TRR で使用されています。混ぜ込もうとする AHK でこれらのサブルーチンを宣言している場合、サブルーチン名が重なるので使用できません。
-
当然の事をあえていいますが、 TRR を混ぜ込む事によって問題が発生したとしても一切保証などはしません。
自己責任で使用してください。
- ソースコード版について
- AHKとTRRのスクリプトの比較
- userPlusのフォルダ
- AHKのソフトにTRRを混ぜ込む