「AutoHotkeyとの連携」の編集履歴(バックアップ)一覧はこちら
「AutoHotkeyとの連携」(2007/08/05 (日) 00:54:27) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*目次
#contents
*配布元など
■AutoHotkey公式
http://www.autohotkey.com/
■解説サイト(必読,日本語リファレンス,その他便利な関数など)
AutoHotkeyを流行らせるページ
http://lukewarm.s101.xrea.com/
■2chの現行スレッド
AutoHotkey Thread 2
http://pc7.2ch.net/test/read.cgi/software/1129836713/
*導入の仕方
+まずは公式サイトの[[ダウンロードページ>http://www.autohotkey.com/download/]]からインストーラをダウンロードする。zip版でも良いがインストーラ版の方が最初は色々楽。
+インストーラを起動し、Next
+ライセンスを一応読んでI Agree
+チェックボックスを全てチェック(一番下を忘れずに)
+Next
+インストール先を入力してNext
+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のダメ文字問題対策)>http://www.tierra.ne.jp/~aki/diary/?date=20060111#p01]]で公開されているライブラリをインクルードし、文字列操作部を書き換えること。
**書き換え例
ファイル先頭に↓を追加(これはスクリプトと同じフォルダにライブラリを置いた場合)
#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
}
*目次
#contents
*配布元など
■AutoHotkey公式
http://www.autohotkey.com/
■解説サイト(必読,日本語リファレンス,その他便利な関数など)
AutoHotkeyを流行らせるページ
http://lukewarm.s101.xrea.com/
■2chの現行スレッド
AutoHotkey Thread 2
http://pc7.2ch.net/test/read.cgi/software/1129836713/
*導入の仕方
+まずは公式サイトの[[ダウンロードページ>http://www.autohotkey.com/download/]]からインストーラをダウンロードする。zip版でも良いがインストーラ版の方が最初は色々楽。
+インストーラを起動し、Next
+ライセンスを一応読んでI Agree
+チェックボックスを全てチェック(一番下を忘れずに)
+Next
+インストール先を入力してNext
+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のダメ文字問題対策)>http://www.tierra.ne.jp/~aki/diary/?date=20060111#p01]]で公開されているライブラリをインクルードし、文字列操作部を書き換えること。
**書き換え例
ファイル先頭に↓を追加(これはスクリプトと同じフォルダにライブラリを置いた場合)
#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>http://curl.haxx.se/]]を利用して現在のディレクトリにダウンロードします。直リン可のファイルしかダウンロードできませんが、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
}
表示オプション
横に並べて表示:
変化行の前後のみ表示: