TRRの起動時に使うファイルの違い

ソースコード版の TRR の起動時に使うファイル

ソースコード版の TRR は、 AutoHotkey.exe が実行ファイルです。

補足

AutoHotkey.exe のファイルは、 AutoHotkeyU64.exeAutoHotkeyU32.exe のファイル名だったりします。

これらは、このページでは AutoHotkey.exe とだけ表現していきます。

そして、そのファイルと同じ場所に

  • textRunRunVar2NewAhk32.ahk
  • textRunRunVar2NewAhk64.ahk
  • textRunRunVar2OldAhk32.ahk
  • textRunRunVar2OldAhk64.ahk

これらのファイルがあります。

これらは、 TRR を起動する際に使うメインのファイルで、
AutoHotkey.exe にこれらのファイルの内のどれか一つをパラメータとして渡す事で TRR を使用できます。

補足

逆に、これら 4つのファイルがある場所に AutoHotkey.exe が無い場合は、これらのファイルがある場所に AutoHotkey.exe を配置する必要があります。

このページでは、これら 4つのファイルの違いについて説明します。

32 と 64 の違い

まず分かりやすい違いとして、ファイル名の右端に 3264 の違いがあるのが分かると思います。

これらは、 32ビット版のと64ビット版の違いで分けるファイルです。

AutoHotkey.exe が、32ビット版のものなら 32 が右端にある方を使い、
64ビット版のものなら 64 が右端にある方を使うというものです。

ファイルの中の違い

ファイルの中の違いを挙げると、

global trrma_bitVar := "32ビット"

これが書かれている個所があり、この行が違うだけです。

この変数は、バージョン情報を確認するウインドウの中で表示されるものの中に使われています。

ですので、バージョン情報のウインドウ内で書かれている、 32ビット64ビット の情報は AHK の組み込み変数を使ったものでも何でもなく、 ファイル名の右端に 3264 のファイル名のものを使った事による違いだけの情報です。

ただこれだけの違いしかなく、本当の意味での 32ビット版か 64ビット版かを証明するものでは無いものです。

補足

TRR で、 32ビット版と 64ビット版の違いによって、出来る事が明確に分かれるものとして
&winCapture が認識されるかどうかの違いがあります。

&winCapture は、 前面にあるウインドウのソフトのファイルパスを アイテムの登録 のウインドウに記入できるものですが、
これは、 32ビット版の TRR を使っている場合、 64ビット版のソフトを認識できないという欠点があります。

64ビット版の TRR を使っている場合、 32ビット版のソフトも含めてどちらも認識できます。

64ビット版を使う利点の一つとして以上の事が挙げられます。

上記の特徴から、 TRR32ビット版か 64ビット版かを調べる方法として
&winCapture を使う方法があると言えます。

&winCapture を使ってみて、 64ビット版のソフトを認識できなければ 32ビット版の TRR を使っている事が分かり、
64ビット版のソフトを認識できるのなら 64ビット版の TRR を使っている事が分かるという、チェック的な方法として使えたりします。

32 と 64 のファイルで分けた理由

なぜわざわざ、ファイル名の右端に 3264 の違いがあるもので分けたのかという理由です。

大した理由ではありません。

コンパイルされた TRR は、 Ahk2Exe.exe を使ってコンパイルされています。

TRR をコンパイルする際は Ahk2Exe.exe

  • textRunRunVar2NewAhk32.ahk
  • textRunRunVar2NewAhk64.ahk
  • textRunRunVar2OldAhk32.ahk
  • textRunRunVar2OldAhk64.ahk

のいずれかを指定して TRR を作るのですが、その場合は以上の 4つのファイルに分けている方がコンパイル時に作りやすいからです。

私ブランボンはそれぞれの TRR をボタン一つ押せばコンパイルされる様にしているので、 コンパイル時に間違ったファイルを指定している様なミスは無いと思います。

ファイル名の右端に 3264 の違いがあるものに分かれているものがある理由はこんなところです。

ただ 32ビット64ビット の表記が変わるだけであり、本来の正しい情報とも言えないものです。

ですので違ったファイルの方を使ったとしても TRR の動作にはなんら影響は与えません。

new と old の違い

実行に使う 4つのファイルには、

  • textRunRunVar2NewAhk32.ahk
  • textRunRunVar2NewAhk64.ahk
  • textRunRunVar2OldAhk32.ahk
  • textRunRunVar2OldAhk64.ahk

があり、 NewOld の違いでファイル名が分かれています。

これらは、バージョンが古い AutoHotkey.exe を使うか、
比較的新しい AutoHotkey.exe を使うかの違いによって分けています。

これは少し細かい事の違いの話になります。

NewOld がつくファイルを使った事による TRR の違いは、「Guiのウインドウの大きさとコントロールの位置の違い」を出すために分けています。

この「Guiのウインドウの大きさとコントロールの位置の違い」が出てくるのは、 Windows の設定の
テキスト、アプリ、その他の項目のサイズを変更する の設定を 125% に設定した場合などに初めて違いが出てくる様になります。

この設定は、以下の様な手順で変更する設定の事です。

Windowキー を押して、設定のマークから「設定」のウインドウが表示します。

その項目の中に システム があるのでそれを選びます。
すると以下の画像の設定になると思います。

画像

この中にある、 テキスト、アプリ、その他の項目のサイズを変更する の設定が今回の内容と関わる事です。

この設定を 125% に設定した場合などに初めて分かる違いについての事です。

表示スケールの詳細設定 や、 カスタム スケーリング というものを設定した場合の話という事です。

今回説明する事は、 テキスト、アプリ、その他の項目のサイズを変更する の設定を 100%(標準) に設定している場合、違いの発生自体が起きないので何も気にしなくてもよい事になります。

補足

上の画像は Windows 10 の設定画面のものであり、
Windows 11 は以下の様な設定画面になっているものの事です。

画像

それと、 NewOld が付くファイル名を使った場合の違いですが、 TRR のバージョン情報のウインドウ内でどちらを使っているかが表される様になっています。

  • New が付くファイル名を使った場合は、
    今のAHKの解像度に合わせる

  • Old が付くファイル名を使った場合は、
    昔のAHKの解像度の違いに対応

この文字で表される様になっています。

比較的新しい AHK と古い AHK の違い

さて、なぜ NewOld が付くファイル名のもので分けているのかという事の理由についてです。

どうも 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_GuiXA_GuiY の変数の値がずれた位置になってしまうようです。

これによって起こる影響ですが、

  • 入力補完が表示する位置が右下にずれる。
  • ストック のウインドウ内を右クリックした時に表示するメニューがありますが、
    そのメニューの表示する位置が右下にずれる。

これらが起こるようです。

これらは、 A_GuiXA_GuiY を使っているので上記の設定の影響を受けてしまうようです。

ウインドウの右下の位置で動作させるほど、右下の位置にずれていくようです。

例として 分割テキスト の入力補完を表示した場合を挙げておきます。

まず、 古い AutoHotkey.exe を使って動作させた例です。
この場合は問題なくカーソルのある位置で入力補完が表示します。

画像

次に、比較的新しい AutoHotkey.exe を使って動作させた例です。

画像

入力補完の位置がカーソルのある位置から下の方にずれてしまいます。

右下の位置であればあるほど、さらに右下の位置にずれる事になります。

起こる問題はこれだけといえばこれだけです。

それ以外に問題はありません。

マニアックな事

TRR から切り離したものとして mousePlug というものがあります。

これは、マウスの簡単な動作を保存して使える様にしたものです。

これに関する事ですが、 マウスで登録ウインドウを指定する のメニューを選んだ時に、明らかに位置がずれるようになっているのが分かっています。

先程の設定の事で問題になってくるのは、これを使っている場合に問題になってくるといったところです。

対処の方法

この事に対処する方法として、 New が名前につくものを使うといった方法では、対処できません。

対策として以下の方法があります。

  • テキスト、アプリ、その他の項目のサイズを変更する の設定を 125% に変えない。

  • テキスト、アプリ、その他の項目のサイズを変更する の設定を 125% の状態で使う場合は、
    古い AutoHotkey を使う。

新しいと古いの基準

比較的新しい AHK と古い AHK という表現をしてきました。

これは、 テキスト、アプリ、その他の項目のサイズを変更する によって起こる変化の違いの仕様によって分かれているものです。

表示スケールの詳細設定 や、 カスタム スケーリング という設定も同じ。

正直いうと、どの AHK のバージョンからそれが分かれているかが分からないので、ここでは参考となる AHK のバージョンをとりあえず挙げるだけにしておきます。

比較的新しい AHK

「 比較的新しい AHK 」 と書いていきました。

しかし、 AutoHotkey のホームぺージで配布してあるもので一番古いものでも、

AutoHotkey112207 ( 1.1.22.07 のバージョン )
2015年製のもの

これが一番古いものの様です。

残念な事に、これでもまだその 「 比較的新しい AHK 」 といえるものです。

なので、新しい AHK しか現在ではもう手に入りません。

AutoHotkey の Webサイト のリンクを一応、ここに貼っておきます。

外様のWebサイト

この AutoHotkey は、このホームページとは全く関係のない別のWebサイトです。

AutoHotkey

2022年2月14日
今のバージョンで

ちなみに、現在公開している TextRunRun は、 1.1.37.02 のバージョンの Ahk2Exe を使ってコンパイルしています。

この TRR は、2025年1月あたりに公開しているものです。

古い AHK

古い AHK といっているものは、 1.1.9.3 のバージョンの AHK は、確実にそれに該当します。

とりあえずこのバージョンの AHK は「比較的新しい AHK」 と、 テキスト、アプリ、その他の項目のサイズを変更する によって 「Guiのウインドウの大きさとコントロールの位置の違い」 が起こる変化の仕様が違います。

A_GuiXA_GuiY の位置のずれも発生しません。

私ブランボンにとっては、比較的気に入っているバージョンの AHK です。

これとこれより古いものが、このページでいう 「 古い AHK 」 です。

ですが、先ほどいった様にもう既にこの様なバージョンの AHK は手に入りません。

紹介だけしておいて何ですが、古いバージョンを薦めるのもやはりおかしな話なのでおすすめする方法ではない事も言っておきます。