目次 ↑
#Persistent
OnExit,WatchShutDown ;終了時に実行されるサブルーチンを割り当て
return ;スクリプト起動時の処理を終了
WatchShutDown: ;終了時に実行されるサブルーチンラベル
If(A_ExitReason=Logoff or A_ExitReason=Shutdown)
{
RunWait,<バックアップ実行プログラムなど> ;プログラムを実行し、終了まで待機 --- してくれずに実行途中で強制終了される
}
ExitApp
; ----------------------------------------------------------------------
; 共通サブルーチン:アプリ新規起動
; * 引数
; - AppName :: アプリ名(メッセージ用)
; - AppPath :: Run に渡すアプリのパス(*.exe、*.lnk、など)
NewApp:
if FileExist(AppPath)
Run,%AppPath%
else
MsgBox,アプリ:%AppName% (パス: %AppPath%) が見つかりません
AppName =
AppPath =
return
; ----------------------------------------------------------------------
; アプリケーショングループの設定
; (例:Mozilla Firefox の場合)
SetTitleMatchMode,RegEx
GroupAdd,FirefoxGroup,Mozilla Firefox$ ahk_class MozillaUIWindowClass
; ----------------------------------------------------------------------
; アプリケーショングループの順次フォーカスと新規起動
; (例:Mozilla Firefox の場合)
ActivateFirefox:
IfWinExist,ahk_group FirefoxGroup
GroupActivate,FirefoxGroup
else
AppName = Mozilla Firefox
AppPath = C:\MyShortcuts\MoziilaFirefox.lnk ; ショートカットのパスで可
GoSub,NewApp
return
; ----------------------------------------------------------------------
; ショートカットキーの割り当て
; (例:Mozilla Firefox の場合)
^!f::GoSub,ActivateFirefox
HideOthers()
{
WinGet,pid,PID,A ; ID を取得して使うとTeraPadが最小化から復帰されないので PID を使う
WinMinimizeAll
Loop,20
{
WinGet,current_minmax,MinMax,ahk_pid %pid%
If ( current_minmax = -1 ) ; minimizing done
Break
Sleep,100
}
WinRestore,ahk_pid %pid%
WinActivate,ahk_pid %pid%
Return
}
#IfWinActive,ahk_class Transparent Windows Client !Tab::^!Tab !Esc::^!Esc #IfWinActive