2

私は頻繁に使用するあらゆる種類のテキストに AutoHotkey を使用するため、署名や頻繁に使用するメール テキストの中に、すぐに使用できるようにいくつかのコード スニペットも保存しています。

これらのホットストリングの一部は、ワードパッドやウルトラエディットなどのエディターでは正常に機能しますが、Eclipse (私のバージョンは 3.6.1) ではホットストリングが正しく削除されません。

非常に簡単な例:

  • #echo と入力します
  • 変数プロンプトが表示されます
  • 文字列 $myVar を提供します
  • 文字列は現在のファイルに挿入されます

前述のように、これは多くのエディターでは正常に機能しますが、ホットストリングの一部 (#ec など) が出力の前に残り、ホットストリングが完全に削除されない Eclipse では機能しません。奇妙なことに、明らかな論理なしに、1 文字、場合によっては 3 文字のままになることがあります。

AutoHotkey ファイル foo.ahk には、次のようなコードがあります。

::#echo::
InputBox, VAR, User input, Please enter the variable VAR., , 320, 130
SendInput,
(
<?php echo(%VAR%); ?>
)
Return

AutoHotkeyの初心者として、私は以前に解決できる他の問題をいくつか抱えていたので、説明されている問題の原因ではないはずです.

  • ドイツ語のウムラウトなどの特殊文字を含むスクリプトは、UTF8 でエンコードする必要があります
  • スクリプトまたはコンパイル済みスクリプトは管理者として実行する必要があります

日食の問題の理由が何であるかはわかりませんが、ヒントをいただければ幸いです。

4

2 に答える 2

1

これを自分で試してみたところ、同じ動作が見られました。私にとっては、SendInput を修正するのではなく、SendPlay モードに切り替えることで、完全に機能するようになりました。

次の行を追加します。

#Hotstring SP

投稿したコードの直前に移動して、問題が解決するかどうかを確認してください。

詳細については、ドキュメントの「#Hotstring」コマンドと、「Hotstrings and Auto-replace」のオプション セクションを参照してください。

アップデート

わかりました、これを試してください:

#Hotstring B0

::#echo::
SendInput, {Control Down}{Shift Down}{Left 2}{Control Up}{Shift Up}
InputBox, VAR, User input, Please enter the variable VAR., , 320, 130
SendInput,
(
<?php echo(%VAR%); ?>
)
Return

「#Hotstring B0」行は、AutoHotkey が単独でバックスペースを実行するのを防ぎます。最初の SendInput 行は Ctrl-Shift-Left を 2 回送信して、入力された「#echo」テキストを選択します。これは、InputBox の後の 2 番目の SendInput に置き換えられます。

もう少しハックで、使い方によっては「{Left 2}」の数字を別のものに変更する必要があるかもしれませんが、これも私にとってはうまくいきます。

于 2011-03-15T11:07:05.057 に答える
0

なぜホットストリングに固執するのですか?代わりに奇妙なホットキーを使用できます(Alt+ Windows+などV

!#v::
InputBox, VAR, User input, Please enter the variable VAR., , 320, 130
SendInput,
(
<?php echo(%VAR%); ?>
)
Return
于 2012-04-20T06:52:41.843 に答える