|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|

AutoHotkeyとの連携

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

目次


配布元など

■AutoHotkey公式
http://www.autohotkey.com/

■解説サイト(必読,日本語リファレンス,その他便利な関数など)
AutoHotkeyを流行らせるページ
http://lukewarm.s101.xrea.com/

■2chの現行スレッド
AutoHotkey Thread 2
http://pc7.2ch.net/test/read.cgi/software/1129836713/

導入の仕方

  1. まずは公式サイトのダウンロードページからインストーラをダウンロードする。zip版でも良いがインストーラ版の方が最初は色々楽。
  2. インストーラを起動し、Next
  3. ライセンスを一応読んでI Agree
  4. チェックボックスを全てチェック(一番下を忘れずに)
  5. Next
  6. インストール先を入力してNext
  7. Finish

これで*.ahkファイルが関連付けされ、さらに*.ahkファイル自体が*.exeのように振る舞えるようになる。
つまりこのような形で引数が渡せる(AutoHotkey.exeを省略できる)。
foo.ahk 001.jpg

AutoHotkey.exeを引数を渡さずに単純に実行すると、AutoHotkey.iniの内容を読み込んで起動する。
(個人的にはこのiniファイルは編集する際エディタの拡張子ごとの色分けができないため使っていない。)

後は常駐させてホットキーランチャとして使うなり、非常駐で渡された文字列を整形してみたりご自由に。
PPxをそれなりに使えている人なら特別難しいということはないはず。
混乱の元になりそうなので一応書いておくと、AHKでのモディファイアキーの表記は以下のようにPPxと若干異なるので注意。
+ Shift
^ Ctrl
! Alt
# Win

SplitPath等におけるダメ文字問題について

AutoHotkeyは海外製ソフトということもあり、2バイト文字の扱いが弱い。
そのため2バイト目が0x5c(\の文字コード)の字(ソ予表貼十能etc...)が文字列に含まれていると誤動作する。気になる場合はなまず日記(AutoHotkeyのダメ文字問題対策)で公開されているライブラリをインクルードし、文字列操作部を書き換えること。

書き換え例

ファイル先頭に↓を追加(これはスクリプトと同じフォルダにライブラリを置いた場合)
#Include %A_ScriptDir%\mbstring.ahk
元がこうなら
SplitPath, 1, file
こんな感じ
MBS_SplitPath( 1 , file, dir, ext, noext, drive )

スクリプト投稿場所

PPcからシームレスに使えるウィンドウ非表示メディアプレイヤー

概要

引数でメディアファイルを渡されたらウィンドウ無しで再生して終了する
動画の場合はウィンドウが出るが、音声ならフォーカスも奪わない
再生中に別のファイルを渡されたら停止して渡されたファイルを再生
PPCのタイトルバーに再生中のファイル名を追加
Shift+Enterを押したら強制停止(キーは変更可)
+複数ファイルを渡されたら連続再生するよう改良(2006/08/07)

スクリプト内容

#SingleInstance force
#NoTrayIcon

class = ahk_class PaperPlaneCombo
;一体化ウィンドウならこのまま
;単独ウィンドウなら「ahk_class PaperPlaneCUI」とか

OnExit, ExitSub

SplitPath, 1, file
SetTimer, Change, 1000	;1000ミリ秒毎にタイトルバー監視
Loop, %0%
{
	media := %A_Index%
	SplitPath, media, file
	GoSub, Change
	SoundPlay, %media%, wait
}
ExitApp

+Enter::	ExitApp	;Shift+Enterが押されたら停止して終了

Change:
	WinGetTitle, now, %class%
	StringGetPos, dlm, now, <, R
	dlm -= 1
	IfEqual, ErrorLevel, 0
		StringLeft, org, now, %dlm%
	Else
		org := now
	WinSetTitle, %class%, , %org% <%file%>
return

ExitSub:
	WinSetTitle, %class%, , %org%
	SetTimer, Change, off
ExitApp
タイトルバーでのファイル名表示が要らないならこれだけでOK
#SingleInstance force
#NoTrayIcon

Loop, %0%
{
	media := %A_Index%
	SoundPlay, %media%, wait
}
ExitApp

+Enter::	ExitApp

PPcへの登録の仕方

キーボードに割り付ける
KC_main = { ;MediaPlayer.ahkとして保存したスクリプトをShift+Bに割り付けるとする
 \B , MediaPlayer.ahk %#FDCB
}
これでウィンドウ一体化表示のとき、メディアファイルを選択してShift+Bを押すとタイトルバーに<ファイル名>が追加され、再生されるようになる(はず)

PPx背景チェンジャー

概要

引数として渡された画像ファイルをPPxの背景として設定する

スクリプト内容

#NoTrayIcon
#SingleINstance force
;一時的に使用するCFGファイルとカスタマイザのパスを指定
cfgpath = %A_ScriptDir%\tmp.cfg
custpath = %A_ScriptDir%\PPCUSTW.EXE

SplitPath, 1, , , ext
;画像ファイルとして認識する拡張子を指定
If ext not in bmp,jpg,jpeg,png,gif
	ExitApp
IfExist, %cfgpath%
	FileDelete, %cfgpath%
FileAppend, X_bg`t= { `nType`t= 1`nPath`t= %1%`n}, %cfgpath%
Run, %custpath% CS %cfgpath%, Hide
ExitApp

PPcへの登録の仕方

キーボードに割り付ける
KC_main = { ;WallChanger.ahkとして保存したスクリプトをShift+Bに割り付けるとする
 \B , WallChanger.ahk %FDC
}

クリップボードのURLを現在のディレクトリにダウンロード

概要

クリップボード内のURL(複数可、改行区切り)をcURLを利用して現在のディレクトリにダウンロードします。直リン可のファイルしかダウンロードできませんが、PPcの*httpgetは大きなファイルだとPPc自体の動作に支障が出るのでそれなりに使い道はあると思います。

スクリプト内容

#NoTrayIcon
Loop, Parse, ClipBoard, `n, `r
{
	RunWait, 「curl.exeのパス」 -# -O %A_LoopField%, %1%	, Hide
;ダウンロード中の様子を表示するなら↑の「 ,Hide」以降を消す
}
ExitApp

PPcへの登録の仕方

キーボードに割り付ける
KC_main = { ;cURL.ahkとして保存したスクリプトをAlt+Vに割り付けるとする
 &V	,cURL.ahk %1
}