TRRの起動時に使うファイルの違い
ソースコード版の TRR の起動時に使うファイル
ソースコード版の TRR は、 AutoHotkey.exe が実行ファイルです。
AutoHotkey.exe のファイルは、 AutoHotkeyU64.exe や AutoHotkeyU32.exe のファイル名だったりします。
これらは、このページでは AutoHotkey.exe とだけ表現していきます。
そして、そのファイルと同じ場所に
- textRunRunVar2NewAhk32.ahk
- textRunRunVar2NewAhk64.ahk
- textRunRunVar2OldAhk32.ahk
- textRunRunVar2OldAhk64.ahk
これらのファイルがあります。
これらは、
TRR
を起動する際に使うメインのファイルで、
AutoHotkey.exe
にこれらのファイルの内のどれか一つをパラメータとして渡す事で
TRR
を使用できます。
逆に、これら 4つのファイルがある場所に AutoHotkey.exe が無い場合は、これらのファイルがある場所に AutoHotkey.exe を配置する必要があります。
このページでは、これら 4つのファイルの違いについて説明します。
32 と 64 の違い
まず分かりやすい違いとして、ファイル名の右端に 32 と 64 の違いがあるのが分かると思います。
これらは、 32ビット版のと64ビット版の違いで分けるファイルです。
AutoHotkey.exe
が、32ビット版のものなら
32
が右端にある方を使い、
64ビット版のものなら
64
が右端にある方を使うというものです。
ファイルの中の違い
ファイルの中の違いを挙げると、
global trrma_bitVar := "32ビット"
これが書かれている個所があり、この行が違うだけです。
この変数は、バージョン情報を確認するウインドウの中で表示されるものの中に使われています。
ですので、バージョン情報のウインドウ内で書かれている、 32ビット か 64ビット の情報は AHK の組み込み変数を使ったものでも何でもなく、 ファイル名の右端に 32 か 64 のファイル名のものを使った事による違いだけの情報です。
ただこれだけの違いしかなく、本当の意味での 32ビット版か 64ビット版かを証明するものでは無いものです。
TRR
で、
32ビット版と
64ビット版の違いによって、出来る事が明確に分かれるものとして
&winCapture
が認識されるかどうかの違いがあります。
&winCapture
は、
前面にあるウインドウのソフトのファイルパスを
アイテムの登録
のウインドウに記入できるものですが、
これは、
32ビット版の
TRR
を使っている場合、
64ビット版のソフトを認識できないという欠点があります。
64ビット版の TRR を使っている場合、 32ビット版のソフトも含めてどちらも認識できます。
64ビット版を使う利点の一つとして以上の事が挙げられます。
上記の特徴から、
TRR
の
32ビット版か
64ビット版かを調べる方法として
&winCapture
を使う方法があると言えます。
&winCapture
を使ってみて、
64ビット版のソフトを認識できなければ
32ビット版の
TRR
を使っている事が分かり、
64ビット版のソフトを認識できるのなら
64ビット版の
TRR
を使っている事が分かるという、チェック的な方法として使えたりします。
32 と 64 のファイルで分けた理由
なぜわざわざ、ファイル名の右端に 32 と 64 の違いがあるもので分けたのかという理由です。
大した理由ではありません。
コンパイルされた TRR は、 Ahk2Exe.exe を使ってコンパイルされています。
TRR をコンパイルする際は Ahk2Exe.exe に
- textRunRunVar2NewAhk32.ahk
- textRunRunVar2NewAhk64.ahk
- textRunRunVar2OldAhk32.ahk
- textRunRunVar2OldAhk64.ahk
のいずれかを指定して TRR を作るのですが、その場合は以上の 4つのファイルに分けている方がコンパイル時に作りやすいからです。
私ブランボンはそれぞれの TRR をボタン一つ押せばコンパイルされる様にしているので、 コンパイル時に間違ったファイルを指定している様なミスは無いと思います。
ファイル名の右端に 32 と 64 の違いがあるものに分かれているものがある理由はこんなところです。
ただ 32ビット か 64ビット の表記が変わるだけであり、本来の正しい情報とも言えないものです。
ですので違ったファイルの方を使ったとしても TRR の動作にはなんら影響は与えません。
new と old の違い
実行に使う 4つのファイルには、
- textRunRunVar2NewAhk32.ahk
- textRunRunVar2NewAhk64.ahk
- textRunRunVar2OldAhk32.ahk
- textRunRunVar2OldAhk64.ahk
があり、 New と Old の違いでファイル名が分かれています。
これらは、バージョンが古い
AutoHotkey.exe
を使うか、
比較的新しい
AutoHotkey.exe
を使うかの違いによって分けています。
これは少し細かい事の違いの話になります。
New と Old がつくファイルを使った事による TRR の違いは、「Guiのウインドウの大きさとコントロールの位置の違い」を出すために分けています。
この「Guiのウインドウの大きさとコントロールの位置の違い」が出てくるのは、
Windows の設定の
テキスト、アプリ、その他の項目のサイズを変更する
の設定を
125%
に設定した場合などに初めて違いが出てくる様になります。
この設定は、以下の様な手順で変更する設定の事です。
Windowキー を押して、設定のマークから「設定」のウインドウが表示します。
その項目の中に
システム
があるのでそれを選びます。
すると以下の画像の設定になると思います。
この中にある、 テキスト、アプリ、その他の項目のサイズを変更する の設定が今回の内容と関わる事です。
この設定を 125% に設定した場合などに初めて分かる違いについての事です。
表示スケールの詳細設定 や、 カスタム スケーリング というものを設定した場合の話という事です。
今回説明する事は、 テキスト、アプリ、その他の項目のサイズを変更する の設定を 100%(標準) に設定している場合、違いの発生自体が起きないので何も気にしなくてもよい事になります。
上の画像は Windows 10 の設定画面のものであり、
Windows 11 は以下の様な設定画面になっているものの事です。
それと、 New か Old が付くファイル名を使った場合の違いですが、 TRR のバージョン情報のウインドウ内でどちらを使っているかが表される様になっています。
-
New が付くファイル名を使った場合は、
今のAHKの解像度に合わせる -
Old が付くファイル名を使った場合は、
昔のAHKの解像度の違いに対応
この文字で表される様になっています。
比較的新しい AHK と古い AHK の違い
さて、なぜ New か Old が付くファイル名のもので分けているのかという事の理由についてです。
どうも AutoHotkey は、比較的新しいバージョンのものと 古いもので「Guiのウインドウの大きさとコントロールの位置の違い」があるようです。
これは、 テキスト、アプリ、その他の項目のサイズを変更する の設定が 125% などに設定されている場合にその違いが発生します。
100%(標準) に設定している場合はその違いは何も起きません。
AutoHotkey は、比較的新しいバージョンのものと 古いもので 125% などに設定した時の「Guiのウインドウの大きさとコントロールの位置の違い」の変化の仕様の変更があったようです。
その変化の仕様の変更に対応するために、
比較的新しいバージョンの
AHK
で使う用の、
New
が名前につくものと、
古い
AHK
で使う用の、
Old
が名前につくものとに分けています。
ですがこれらは完全に対応できる様にしたものではありません。
できるだけ対応できる様にしたものでしかないものだったりします。
比較的新しい AHK で Old がつくファイルを使った場合
例として、比較的新しい AutoHotkey.exe を使っているのに、 Old が付く方である textRunRunVar2OldAhk64.ahk を使ったとします。
アイテム一覧 を例に挙げると以下の様になります。
別に大した事はないのですが、下の方が長くなっています。
上の方の ソフト・ファイル の文字の位置も下にずれています。
この様に、違う方を使った場合は、
比較的新しい
AutoHotkey.exe
を使っているのに、
textRunRunVar2OldAhk64.ahk
を使った場合や、
古い
AutoHotkey.exe
を使っているのに、
textRunRunVar2NewAhk64.ahk
を使った場合は、
「Guiのウインドウの大きさとコントロールの位置の違い」 が大きくなってしまう事になります。
これらの違いに対応するために、
New
が名前につくものと、
Old
が名前につくものとに分けています。
比較的新しい AHK のデメリット
ここから説明する事は、ソースコードの TRR の起動時に使うファイルとは関係ない事になります。
テキスト、アプリ、その他の項目のサイズを変更する
の設定を
125%
にした場合や、
表示スケールの詳細設定
や、
カスタム スケーリング
というものを設定した場合の話をしたので、ついでに説明しておきたいことがあります。
この設定をした場合で、
比較的新しい
AHK
を使用した場合、
AHK
の組み込み変数の
A_GuiX
や
A_GuiY
の変数の値がずれた位置になってしまうようです。
これによって起こる影響ですが、
- 入力補完が表示する位置が右下にずれる。
-
ストック
のウインドウ内を右クリックした時に表示するメニューがありますが、
そのメニューの表示する位置が右下にずれる。
これらが起こるようです。
これらは、 A_GuiX や A_GuiY を使っているので上記の設定の影響を受けてしまうようです。
ウインドウの右下の位置で動作させるほど、右下の位置にずれていくようです。
例として 分割テキスト の入力補完を表示した場合を挙げておきます。
まず、
古い
AutoHotkey.exe
を使って動作させた例です。
この場合は問題なくカーソルのある位置で入力補完が表示します。
次に、比較的新しい AutoHotkey.exe を使って動作させた例です。
入力補完の位置がカーソルのある位置から下の方にずれてしまいます。
右下の位置であればあるほど、さらに右下の位置にずれる事になります。
起こる問題はこれだけといえばこれだけです。
それ以外に問題はありません。
対処の方法
この事に対処する方法として、 New が名前につくものを使うといった方法では、対処できません。
対策として以下の方法があります。
-
テキスト、アプリ、その他の項目のサイズを変更する の設定を 125% に変えない。
-
テキスト、アプリ、その他の項目のサイズを変更する の設定を 125% の状態で使う場合は、
古い AutoHotkey を使う。
新しいと古いの基準
比較的新しい AHK と古い AHK という表現をしてきました。
これは、 テキスト、アプリ、その他の項目のサイズを変更する によって起こる変化の違いの仕様によって分かれているものです。
表示スケールの詳細設定 や、 カスタム スケーリング という設定も同じ。
正直いうと、どの AHK のバージョンからそれが分かれているかが分からないので、ここでは参考となる AHK のバージョンをとりあえず挙げるだけにしておきます。
比較的新しい AHK
「 比較的新しい AHK 」 と書いていきました。
しかし、 AutoHotkey のホームぺージで配布してあるもので一番古いものでも、
AutoHotkey112207
(
1.1.22.07
のバージョン
)
2015年製のもの
これが一番古いものの様です。
残念な事に、これでもまだその 「 比較的新しい AHK 」 といえるものです。
なので、新しい AHK しか現在ではもう手に入りません。
AutoHotkey の Webサイト のリンクを一応、ここに貼っておきます。
ちなみに、現在公開している TextRunRun は、 1.1.37.02 のバージョンの Ahk2Exe を使ってコンパイルしています。
この TRR は、2025年1月あたりに公開しているものです。
古い AHK
古い AHK といっているものは、 1.1.9.3 のバージョンの AHK は、確実にそれに該当します。
とりあえずこのバージョンの AHK は「比較的新しい AHK」 と、 テキスト、アプリ、その他の項目のサイズを変更する によって 「Guiのウインドウの大きさとコントロールの位置の違い」 が起こる変化の仕様が違います。
A_GuiX や A_GuiY の位置のずれも発生しません。
私ブランボンにとっては、比較的気に入っているバージョンの AHK です。
これとこれより古いものが、このページでいう 「 古い AHK 」 です。
ですが、先ほどいった様にもう既にこの様なバージョンの AHK は手に入りません。
紹介だけしておいて何ですが、古いバージョンを薦めるのもやはりおかしな話なのでおすすめする方法ではない事も言っておきます。
- ソースコード版について
- TRRの起動時に使うファイルの違い
- AHKとTRRのスクリプトの比較
- userPlusのフォルダ
- AHKのソフトにTRRを混ぜ込む