AutoHotkeyWikiのサンプルコード集を元にした使用例。その2
前回の続きです。 AutoHotkey WikiのWebサイトにある、サンプルコード集を元にした TRR の使用例を紹介します。
AutoHotkey Wiki は、このホームページとは全く関係のない別のWebサイトです。
あくまで参考例として使用させてもらっています。
今回のこのページで説明する事は、このWebサイトの中にある以下のページを参考にした事について語っています。
早速、次の例を紹介します。
キーを押すたびに機能を切り替え
vk1Dsc07B:: ; 無変換
Flag += 1 ; 判定用に変数に加算していく
If Flag = 1
{
MsgBox,1回目
Return
}
If Flag = 2
{
MsgBox,2回目
Return
}
If Flag = 3
{
MsgBox,3回目
Return
}
MsgBox,4回目
Flag = ; 変数を空にして1回目に戻る
Return
このスクリプトは変数が必要です。
TRR では、変数はグローバル変数しか使えないので前もって変数を宣言しておかなければいけません。
このスクリプトを TRR で実現しようとすると、以下のようになります。
なお、このページは前回の説明の続きなので、以前のスクリプトに追加して記述したものを載せます。
global ahkwiki_key = vk1D
global ahkwiki_num = 0
この
アイテム
を作って、そしてそれを起動時に実行させるようにしておきます。
前回も説明しましたが、
startup
のフォルダの中に、
1_ahkwiki
のフォルダを作っておきます。
そして以下のが、先ほどのスクリプトを変更したものです。
ahkwiki_num += 1
if( ahkwiki_num == 1 ){
MsgBox, 1回目
return
}
if( ahkwiki_num == 2 ){
MsgBox, 2回目
return
}
if( ahkwiki_num == 3 ){
MsgBox, 3回目
return
}
MsgBox, 4回目
ahkwiki_num = 0
%--
なお、これは アイテム です。
グローバル変数しか使えないという違いがありましたが、それ以外はそのままと言えばそのままです。
使う時は、この ahkwiki_count の アイテム を テキスト から使うか、 キーに登録しておいて使えるようにします。
以下のファイルを hotkeyAllGround のフォルダ内に入れておけば、 元のスクリプトと同じキーである 無変換のキーで実行できるようになります。
ahkwiki_count
キーボードでマウス操作
サンプル集のソースコードには While や Loop を使っているものが載っています。
TRR では、これらは使えないので違う記述で似たような事ができるようにします。
ファイルを一つ一つ作ります。
アイテム
ではなく、キーとして設定するものなので
hotkeyAllGround
の中に以下のファイルを入れます。
MouseClick, Left
MouseClick, Right
MouseMove, 0, -20, , R
MouseMove, -20, 0, , R
MouseMove, 0, 20, , R
MouseMove, 20, 0, , R
無変換 + A などのキーでマウスを動かします。
とりあえず、似たような事ができると思います。
キー連射のスクリプト
明らかに難しそうなので止めておきます。
特定のウインドウアクティブ時にWindowsキー無効
hotkeyAllGround
のフォルダの中に、フォルダを作ると
そのフォルダの名前がウインドウタイトルを意味したものとして扱い、
その中に作ったファイルを利用して登録したキーは、
そのウインドウタイトルがアクティブの時のみ動作するキーとして扱えるようになっています。
return
このファイルを
hotkeyAllGround
の直下におけば左のウインドウズキーを無効にでき、
hotkeyAllGround
の中に
何かのタイトル
の名前のフォルダを作って、その中に配置すれば、
何かのタイトル
のウインドウがアクティブの時のみ左のウインドウズキーを無効にするようになります。
ウインドウタイトルを指定するフォルダの名前の指定は全角文字も可能です。
選択した文章、アイコン名で即座に検索
AutoHotkey Wiki のサンプルコード集に載っているものとは趣旨が違うのかもしれませんが、以下の アイテム を作ればグーグルで検索ができます。
; type=1
; argument=https://www.google.com/search?q="%*"
C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
これを item のフォルダの中に配置すれば テキスト上で、
の様に記述すればグーグルで検索できるようになりますし、
テキスト上のキーとして作っておけば、
検索する文字の入力のみで使用もできます。
GoogleSerch
これを hotkeyOnText のフォルダの中に配置すれば、 テキスト上で Ctrl+G を押せば GoogleSerch を先頭の文字にして実行できるので、
この様に検索する文字だけを テキスト に記入して Ctrl+G を押せばグーグル検索ができるようになります。
それでは、本来の趣旨に近い「選択した文字を検索する」というものを作ると以下のようになると思います。
変数を増やすので 1_ahkwiki.txt のファイルの中に追加します。
global ahkwiki_key = vk1D
global ahkwiki_num = 0
global ahkwiki_clipSave =
次に、 hotkeyAllGround の中に以下のファイルを配置します。
ahkwiki_clipSave := Clipboard
Send, ^c
ClipWait, 2
GoogleSerch %Clipboard%
Clipboard := ahkwiki_clipSave
ahkwiki_clipSave =
このファイルを配置すると無変換キーで選択していた文字がグーグル検索されるようになります。
大体はサンプルコード集にあったのと同じ様な事ができると思います。
いろいろ違うかもしれませんが。
音量の制御
ぼぼそのままです。
ここでは一つ一つファイルを作って実現します。
Send, {Volume_Up 1}
Send, {Volume_Down 1}
Send, {Volume_Mute 1}
SetKeyDelay, -1
; 一旦音量を 0 に
Send, {Volume_Down 50}
Send, {Volume_Up 12}
以上です。
これらのファイルを
hotkeyAllGround
のフォルダの中に配置すれば使用できるようになります。
代替え案
ファイル一つで済ませる方法も紹介しておきます。
こちらは 起動時に実行させるアイテム として作ります。
&hotkeyAllGroundNewFromCommand ^#Up "Send, {Volume_Up 1}"
&hotkeyAllGroundNewFromCommand ^#Down "Send, {Volume_Down 1}"
&hotkeyAllGroundNewFromCommand ^#Left "Send, {Volume_Mute 1}"
&hotkeyAllGroundNewFromCommand ^#Right "SetKeyDelay, -1`nSend, {Volume_Down 50}`nSend, {Volume_Up 12}"
%--
このファイルを
item
のフォルダ内に配置して
アイテム
として登録しておき、
startup
のフォルダ内に
ahkwiki_volume
のフォルダを作って、起動時に実行させるようにします。
今回のは、Ctrl+Windowsキー+矢印キーで動作します。
コンパイルに使った AutoHotkey が古いバージョンの場合は音量を変える事ができないと思います。
アイコンの変更など
AutoHotkey Wiki のサンプル集にあるアイコンの変更とは趣旨が全く違う事を説明します。
TextRunRun が Suspend や Pause の状態になる時、
- trrEvery\doc\icon\Suspend.ico
- trrEvery\doc\icon\Pause.ico
- trrEvery\doc\icon\PauseSuspend.ico
この以上のファイルパスの画像が存在していれば、それをアイコンの画像に使うようになっています。
Suspend.ico
のファイルが
Suspend
の状態の時に使われ、
Pause.ico
のファイルが
Pause
の状態の時に使われ、
PauseSuspend.ico
のファイルが
Suspend
と
Pause
の両方の状態の時に使われるようになっています。
なお、これらのアイコンが使われるのは、 TextRunRunのスクリプト上で Suspendの状態にした時のみアイコンを変更します。
ソースコード版の
TextRunRunを使った場合で、
AutoHotkeyのスクリプトから
Suspendの状態にした場合は先ほどのファイルの画像への変換は行われません。
その場合は、通常の
AutoHotkey
の
Suspend
の状態のアイコンに変わるだけです。
さて、 AutoHotkey Wiki のサンプル集から TextRunRun上で使う例をとりあえず紹介しましたが、大体以上の様な感じにして使います。
ネット上で色々紹介されている AutoHotkey のサンプル集を TRR で使う場合ですが、やはりスクリプトを色々と変えていかなければいけない事になります。
現状は、何とか出来ない事もないけど頑張って作り変えて何とか実現できるといったとこです。
よければ今回のを試しに使ってみたり、ネット上のサンプル集を試してみてください。