AutoHotkey : 簡単サンプルコード例(役に立つかも)

AutoHotKeyとは: ある特定のキーを押すと、スクリプトでかいた動作を自動でしてくれるようになります。あなたのアイディア次第でなんでも出来ます。単純な繰り返し作業、面倒なことはコンピュータにやらせましょう。

 

:_AutoHotkey GUIの使い方: (簡単なWindowの作り方)

 

ダウンロード先:

説明サイト:AutoHotkeyJp

このサイトのファイル置き場にあります。

 

私が、普段使っているAutoHotKeyのコードです。

スポンサーリンク

キー連打(CTRL,Shiftダブル)でイベント発生

A_PriorHotkey 一つ前のホットキー
A_ThisHotkey 最後に実行されたホットキーのラベル名が格納される。
A_TimeSincePriorHotkey A_PriorHotkeyの発生から経過した時間

 

左ダブルクリックを送る(連打)

121

 

● マウスのWin+左ダブルクリックで、あるソフトを起動したいと考えています。

単独のクリックなら、簡単なのですが連続となると難しくなります。

#LButton::
If(A_PriorHotkey = A_ThisHotkey) And (A_TimeSincePriorHotkey < 300){
     Run,C:\Windows\System32\calc.exe
}
return

● Win+左ダブルクリックで計算機を起動します。

windows計算機を立ち上げる

URLにページナンバー(数値)があるとき、+1にする

連続ものを見てるときURLに+1で次のページを見ることできるサイト結構あるので作りました。

~~~episode-26.html
「win」キー+「3」キーで
~~~27.html
~~~28.htmlのように数字部分を+1し、URLのアドレスを変えます。
; URL 数値 cnt プラス1 +1
#3::
	send, ^a ;全選択
	send, ^c ;コピー
	sam := RegExMatch(Clipboard,"(\d\d)",$1,15) ;数値を取得
	kk := $1+1 ;数+1
	Clipboard = https://~~~~~~--episode-%kk%.html
	send, ^v ;貼り付け
Return

Sendのコンビネーションキー:

CTRLキー ^
ALTキー !
Winキー #

Googleスプレッドシートのセル値を取得し、新しいタブで検索

chrome スプレッドシート

Winキーとcを同時に押すと、赤矢印の文字を取得し、Chromeの新しいタブ開き検索します。

;-----------------------------------------------
;chrome スプレッドシート word copy  new Tabで検索
;-----------------------------------------------
#c::
    Send, ^c
    Sleep, 100
    Send, ^t ; 新しいChromeのタブ開く
    Sleep, 150
    Send, ^v{Enter} ;貼り付け
Return

クリップボードの前後に文字列をプラスする

clipboard = 前に加える文字列%clipboard%後ろの文字列 
これで、クリップボードの内容入れ替わります。
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スペース1コ::     スペースあってはダメ
  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% ;// 変数は%%で囲む

A_Now変数

コメント

タイトルとURLをコピーしました