AutoHotkey

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
AutoHotkey
AutoHotkey logo.png
開発元 Chris Mallett (Chris)、Steve Gray (Lexikos)
最新版 1.1.14.03 / 2014年02月14日(4か月前) (2014-02-14 [1]
最新評価版 2.0-a045 / 2014年02月13日(4か月前) (2014-02-13
対応OS Microsoft Windows
種別 スクリプト言語 自動化 GUI ユーティリティソフトウェア
ライセンス GPL
公式サイト www.auto-hotkey.com
テンプレートを表示

AutoHotkey とは、Microsoft Windowsが導入されているパーソナルコンピュータ常駐して一連の操作を自動化するためのユーティリティソフトウェアである。操作を自動化するためにはユーザーは独自のマクロ言語を記述する必要がある。「AutoHotkey」という名称からはキーボードのカスタマイズしかできないように感じられるが、マウスについても操作の一部が可能(後述)。フリーソフトウェアであるため、AutoHotkey_Lのような派生版が存在する。

特徴[編集]

AutoHotkeyのスクリプトは、プログラムの起動、文書のオープン、キー入力の送信、マウスのクリック操作やポインタ移動操作の発生のほか、[2]変数の割り当て、変数内容の取得、変数の操作、ループ操作の実行、ウィンドウファイルフォルダの操作を行うことができる。これらの操作は、スクリプトで定義したショートカットキーにより起動することができる。たとえば、 キーボードの Ctrl+Alt+i を押すとウェブブラウザを起動させる動作をスクリプトで定義できる。また、キーボード上のキーを別のキーに置き換えたり無効にしたりできる。たとえば「q」を押したときに、「r」が押されたとコンピュータに認識させたり何も動作させないようにしたりすることができる。[3] さらに、AutoHotkeyでは「ホットストリング」という、特定の文字列が入力されたらそれを特定の文字列に自動的に置き換える機能を使用することができる。ホットストリングスの最も典型的な使用例は、「btw」「%o」と入力するとそれぞれ「by the way」「percentage of」に置き換わるなど、省略形を正しい表記へ置き換える操作である。[4]これは、日本語で言う日本語入力システムのようなものと考えると理解しやすいだろう。

GUI画面の専用データ入力フォームを作成したり、レジストリと連携したり、DLLから機能を呼び出してWindows APIを使用したりすれば、より複雑な操作も行うことができる。スクリプトは実行ファイルコンパイルすることができる。コンパイルしたスクリプトはAutoHotkeyがインストールされていないコンピュータでも動作させることができる。AutoHotkey自体のソースコードはC++で書かれており、Microsoft Visual Studio Expressでコンパイルすることができる。

プログラミングの際は、C言語と同様のポインタを使用したメモリアクセスが可能である。[5]

AutoHotkeyを使用した操作の一般的な例は以下のとおり。

歴史[編集]

AutoHotkeyの最初のベータ版は2003年11月10日に公開された。[7]AutoHotkeyを開発する契機としては、開発者のChris Mallettが「ショートカットキー機能のサポートをAutoIt v2に組み込みたい」という提案をしたものの、AutoItのコミュニティで反応がなかったことがある。[8][9]そのためChris Mallettは、AutoIt v2の構文を土台としつつもAutoIt v3から一部のコマンドを流用し、AutoIt v3でコンパイルした、独自のプログラムをいちから作成しはじめた。[10]その後AutoIt v3は、「『AutoItのソースコードを繰り返し取得』し、『自分自身をAutoItの競合相手にしている』プロジェクトが他に存在する」という理由によりGNU General Public Licenseからプロプライエタリ・ソフトウェアに移行した。[11]


2010年10月10日現在、Chris Mallettは、AutoHotkey_LをAutoHotkeyとして継続して開発していくことにしたこと、公式ウェブサイトの「Download AutoHotkey」からダウンロードできるプログラムをAutoHotkey_Lに変更することを宣言している。[12][13]

また、AutoHotkeyコミュニティ内のプログラマーたちも、以下のようなAutoHotkeyの派生版を開発し始めた。

スクリプト例[編集]

以下のスクリプトでは、CtrlキーとAltキーが入れ替わる。

LCtrl::Alt
LAlt::Ctrl

以下のスクリプトでは、Googleで特定の語や文字列を検索することができる。任意のアプリケーションで文字列をクリップボードにコピーした後に Win+g を押すと、指定されている規定のウェブブラウザが起動し、コピーした文字列で検索が行われる。この操作を行うキーは、スクリプトを変更すれば変更可能。

#g:: ; Win+g
   Run http://www.google.com/search?q=%clipboard%
Return

「afaik」と入力すると自動的に「as far as I know」に置き換わるホットストリングの作成に必要なスクリプトの例を以下に示す。

::afaik::as far as I know

AutoHotkeyの簡単な機能の例を以下に示す。あるURLがクリップボードにコピーされているときに Alt+x を押すと、URLにかっこが含まれているかを確認し、あれば代替文字に置き換え、その後クリップボードからURLを貼り付ける。

!x:: ; Alt+x
   URLReplace()
   Send ^v ; Ctrl+v
Return
 
URLReplace() {
   StringReplace, Clipboard, Clipboard, (, `%28, All
   StringReplace, Clipboard, Clipboard, ), `%29, All
}

以下の例では、(Firefoxで開いた)Wikipediaのサイトの任意の場所にあるユーザ名のリンクまたはIPアドレスのリンクの内容をクリップボードにコピーした後に Ctrl+ Shift+W または Ctrl+ Shift+E を押すことで、クリップボードの内容に対してCopyUser関数を実行し、押されたホットキーによって指定されている変数に関数の戻り値を格納する。Ctrl+ Shift+Rを押すと、変数の値を合成してウィキペディアの記事の差し戻しの要約欄を生成する(ただし、2013年現在のフォーマットとは異なるためそのままでは使えない)。

^+w::last := CopyUser() ; Ctrl+Shift+w
^+e::edit := CopyUser() ; Ctrl+Shift+e
 
CopyUser() {
   Clipboard =
   StringReplace, Clipboard, Clipboard, http://en.wikipedia.org/
   StringReplace, Clipboard, Clipboard, wiki/
   StringReplace, Clipboard, Clipboard, w/index.php?title=
   StringReplace, Clipboard, Clipboard, Special:Contributions&target=
   StringReplace, Clipboard, Clipboard, User:
   StringReplace, Clipboard, Clipboard, &action=edit
   StringReplace, Clipboard, Clipboard, _, %A_Space%, All
   Return, Clipboard
}
 
; Ctrl+Shift+r
^+r::Send revert edits by [[Special:Contributions/%edit%|%edit%]] to last version by %last%

ほかにも、AutoHotkeyを使用して行える操作の例は、AutoHotkeyのオンラインフォーラムのScriptsで探すことができる。

コミュニティ[編集]

2012年1月現在、AutoHotkeyのオンラインコミュニティには約27,300ユーザーが登録されており、約482,000の書き込みが投稿されている。[14]

AutoHotkey用のオンラインチャットルームはFreenode IRCに設置されており、2009年11月現在で平均40ユーザーが接続している。[15]

近いうちに、AutoHotkey公式ウェブサイトの管理者が変わる可能性がある。[16]

ユーザ提供機能[編集]

他のプログラミング言語から、または他のプログラミング言語と一緒に使用する以下の拡張機能、相互運用できるプログラム、埋め込みスクリプトライブラリが使用可能であるか、開発中である。

他にも以下がある。

関連項目[編集]

参考文献[編集]

  1. ^ AutoHotkey Downloads”. 2014年1月18日閲覧。
  2. ^ AutoHotkey Tutorial: Macro and Hotkey Creation”. Autohotkey.com. 2011年12月2日閲覧。
  3. ^ Remapping Keys and Buttons”. Autohotkey.com. 2011年2月1日閲覧。
  4. ^ Hotstrings and Auto-replace (similar to AutoText and AutoCorrect)”. Autohotkey.com (2011年12月2日). 12-2005-09閲覧。
  5. ^ AutoHotkey Changes and New Features, v1.0.47 - June 19, 2007”. Autohotkey.com. 2011年12月2日閲覧。
  6. ^ Contact Erica Sadun: Comment (2005年8月19日). “Ericasadun 2005 Life Hacker”. Lifehacker.com. 2011年12月2日閲覧。
  7. ^ AutoHotkey Changelog for Years 2003-2004”. Autohotkey.com. 2011年12月2日閲覧。
  8. ^ Author Chris Mallett's post on the AutoHotkey Forums”. Autohotkey.com. 2011年12月2日閲覧。
  9. ^ An AutoIt / AutoHotkey nonfunctional comparison”. Paperlined.org. 2011年12月2日閲覧。
  10. ^ Author Chris Mallett's post on the AutoHotkey Forums”. Autohotkey.com. 2011年12月2日閲覧。
  11. ^ Licensing Opinions - AutoIt Forums”. Autoitscript.com. 2011年12月2日閲覧。
  12. ^ Forum post by Chris, announcing AutoHotkey_L now main platform”. Autohotkey.com. 2011年12月2日閲覧。
  13. ^ Download page showing AutoHotkey_L as ongoing platform”. Autohotkey.com. 2011年12月2日閲覧。
  14. ^ AutoHotkey Community Forum Page”. Autohotkey.com. 2011年12月2日閲覧。
  15. ^ Getting connected to AutoHotkey's IRC Chat”. Autohotkey.com. 2011年12月2日閲覧。
  16. ^ The future of AutoHotkey.com”. Chris (2012年1月26日). 2012年2月1日閲覧。

外部リンク[編集]