

AutoHotKeyとは: ある特定のキーを押すと、スクリプトを読んで自動でPCを操作してくれるます。あなたのアイディア次第でなんでも出来ます。単純な繰り返し作業、面倒なことはコンピュータにやらせましょう。特に小さなTOOLは得意です。画像認識、GUI作成もできます。兄弟関係の「Autoit」の方がコードは見やすくかけると思います
:_サンプルコード2
:_AutoHotkey GUIの使い方: (簡単なWindowの作り方)
ダウンロード先:
このサイトのファイル置き場にあります。
私が、普段使っているAutoHotKeyのコードです。
Google シートのマクロ承認を自動で
Googleのスプレッドシートでマクロ(GAS)を動かすのに、いちいち承認しないと動かないのが非常に面倒。動かすまでに何度もクリックしなければいけません。
AutoHotkeyの画像認識で自動にしてみました:
乱数の発生
Random, rnd , 8, 47
MsgBox,%rnd%
8~47 までの整数を表示
Random, 乱数が入る変数, 最小値, 最大値
キー連打(CTRL,Shiftダブル)でイベント発生
A_PriorHotkey | 一つ前のホットキー |
A_ThisHotkey | 最後に実行されたホットキーのラベル名が格納される。 |
A_TimeSincePriorHotkey | A_PriorHotkeyの発生から経過した時間 |
左ダブルクリックを送る(連打)

● マウスのWin+左ダブルクリックで、あるソフトを起動したいと考えています。
単独のクリックなら、簡単なのですが連続となると難しくなります。
#LButton:: If(A_PriorHotkey = A_ThisHotkey) And (A_TimeSincePriorHotkey < 300){ Run,C:\Windows\System32\calc.exe } return
● Win+左ダブルクリックで計算機を起動します。

区切り線を簡単に入れる
テキストを書いてるとき、わかりやすいように区切り(——)を入れたいときがあります。
Windowsキー + ー(マイナス):
#-::
Clipboard = ーーーーーーーーーーーー ;<<ここすきな区切り文字に変えてください
Send, ^v
Send, {Enter}
Return
URLにページナンバー(数値)があるとき、+1にする
連続ものを見てるときURLに+1で次のページを見ることできるサイト結構あるので作りました。
~~~27.html を28に
~~~28.html
; URL 数値 cnt プラス1 +1 置換
F1::
send, ^a ;全選択
send, ^x ;コピー
sam := RegExMatch(Clipboard,"(\d+)",getNum) ;数値を取得getNumに
newNum := getNum+1 ;数+1
;MsgBox,,, %kk%
chang_URL := RegExReplace(clipboard, getNum, newNum)
Clipboard := chang_URL
send, ^v ;貼り付け
send, {Enter}
Return
Sendのコンビネーションキー:
CTRLキー | ^ |
ALTキー | ! |
Winキー | # |
Googleスプレッドシートのセル値を取得し、新しいタブで検索

Winキーとcを同時に押すと、赤矢印の文字を取得し、Chromeの新しいタブ開き検索します。
;----------------------------------------------- ;chrome スプレッドシート word copy new Tabで検索 ;----------------------------------------------- #c:: Send, ^c Sleep, 100 Send, ^t ; 新しいChromeのタブ開く Sleep, 150 Send, ^v{Enter} ;貼り付け Return
Send, ^v{Enter} CTRL+vのキーを送り、その後Enterキーを送っているのでエディタでは改行されます。
クリップボードの前後に文字列をプラスする
clipboard = 前に加える文字列%clipboard%後ろの文字列
上記、日本語使うとうまく動きませんでした。
Clipboard := "前に加える文字列" Clipboard "後ろの文字列"
違うところ = >> :=(コロン付き) 文字は””で囲む Clipboardの前後スペースが必要
例)「」で囲む
Clipboard := "「" Clipboard "」"
ahkは、UTF-8 BOM付きで保存
これを実行すると、クリップボードの内容が変わります。AutoHotkeyは、文字列””で囲わないこと
エクスプローラを好きなフィラー(ファイル管理)で開きなおす
#w:: Sleep,100 ;;Copyしてないエラーが出るので入れてみる 2/17-13 Send, ^c ;;CTRL+C(コピー)キーを送る 選択範囲をコピー Send, !{F4} ;; いらない窓 閉じる 先に閉じないと RUNのマドを閉じてしまう Sleep,100 Run,C:\Program Files (x86)\FreeCommander XE\FreeCommander.exe "%Clipboard%" return
Windows10のエクスプローラーあまり好きではないので、機能豊富なフリーの「FreeCommander」を「Winキー+w」で今開いているエクスプローラーと同じフォルダを開きます。

ウィンドウを常に最前面(TOP)にするコード
● ソフトをたくさん開くと、たまに、あるソフトを一番上にしておきたい時があります。その時便利なのがAutoHotKeyです。
#t:: ;// win+t active.windowを常にTop { WinSet, AlwaysOnTop, toggle, A ;// A=active window } return
#t = #(Windoowsキー)+t(Tキー)を同時に押します。
● toggleの次の引数、ウィンドウ名ですがAのみだとアクティブ(今使っている)ウィンドウになります。
—————————————–
あるキーを押すと音を鳴らす
キー押すと鳴る
p:: SoundBeep ,,2000 Return
SoundBeep ,周波数,時間(ミリ秒)
2秒なら 2000
なん分か後に音鳴らす
p:: Sleep, 1000 * 60 * 2 ;最後の数値 分 SoundBeep ,,2000 Return
AutoHotkeyのGUIでボタン作る
Vagrantを立ち上げたり・止める時、コマンド打つの面倒なのでボタンにしてみました。

Gui,Font,S14 ;Font Size Big Gui, add, button,default,Vagrant_up ; Vagrant Start Gui, add, button,Gsuspend,Vagrant_suspend ; Vagrant End Gui, show,W250, Start_End return ;-------------------------- buttonVagrant_up: SetWorkingDir, C:\Linux_VG\MYCentOS\ run, vagrant_up.bat return GuiClose: suspend: SetWorkingDir, C:\Linux_VG\MYCentOS\ run Vagrant_suspend.bat ExitApp
Batファイル:
batファイルに、一行のみ
Vagrant up
Vagrant suspend
小さなミス(気づき)
ホットキーの指定 無駄な空白はエラー
Pause:: これが正解 Pauseスペース:: ダメ
Pauseを押すと音ミュートします。
Pause:: Send, {VOLUME_MUTE} Return
ボリュームを上げたり、下げたり
F4:: Send {Volume_Up} ; マスターボリュームを 2(2%) 上げる。 Return ;--------------------------------- F5:: Send {Volume_Down} ; マスターボリュームを 2(2%) 下げる。 Return
時間変数(内部変数)
A_Now | 現在時刻をYYYYMMDDHH24MISSで表示 |
Msgbox, %A_Now% ;// 変数は%%で囲む

AutoHotkeyでCADを動かす
コマンド入力のCADなら、AutoHotkeyのSendでキーを送れば、その送ったキーのとおりにCAD動いてくれます。
コメント