2010/12/22
「AutoHotkey」はポータブルアプリを起動させるスクリプトを記述することでホットキーランチャーとして使用することができます。ソフトが既に起動している場合は二重起動せずにそのソフトのウィンドウをアクティブにすることもできるので、タスク切り替えとしても便利です。(特にFirefoxPortableはソフト側で多重起動を抑止できないので重宝してます。)使用頻度が高いソフトや、よく切り替えるソフトに割り当てておくと使い勝手がよくなるかと思います。↓のサイトを参考にさせてもらいました。
相対パスに対応させるためのスクリプト
まずは連携するソフトを相対パスで指定するために↓のスクリプトをどこか適当に貼り付けてください。これで起動したいソフトを「AutoHotkey.ini」を基準にした相対パスで指定すればドライブレターが変わっても使えるようになります。
; 起動するソフトを相対パスで指定する
SetWorkingDir,%A_ScriptDir%
例えば、自分のフォルダ構成は↓のような感じなので、
[tools1]
├─[startup]
│ └─[AutoHotkey104803]
├─[FirefoxPortable]
├─[Jane Style]
├─[AIMP2]
FirefoxPortable.exeを相対パスで指定する場合は
「..\..\FirefoxPortable\FirefoxPortable.exe」
という風に書きます。
ホットキーランチャー用のスクリプト
スクリプトの例としては↓のような感じです。
; F8でFirefoxPortableの起動/切り替え
F8::
Process,Exist,firefox.exe ←ここに起動するソフトのプロセス名を記述する。
if ErrorLevel<>0
WinActivate,ahk_pid %ErrorLevel%
else
Run,..\..\FirefoxPortable\FirefoxPortable.exe ←ここに起動したいソフトを相対パスで指定。
return
これでF8を押したときにFirefoxPortableが既に起動している場合はFirefoxPortableのウィンドウをアクティブにして、起動していない場合はFirefoxPortableを起動します。下線の部分を環境に合わせて書き換えてください。プロセス名は大抵の場合、実行ファイル名をコピペすれば大丈夫かと思います。(FirefoxPortableの場合は「firefox.exe」でないとうまくいかなかったんですが。)また、ソフト側で多重起動を抑止+アクティブ化するもの(JaneStyleなど)はソフトを起動するだけのスクリプトでもOKなんですが、AutoHotKeyでアクティブにした方が反応が速いような気がしたので自分は大体この形で書いてます。ちなみに自分は↓のようにF1~F8に割り当てています。
; F1でAIMP2の起動/切り替え ※1
; F2でFileSeeker3の起動/切り替え プロセス名→FileSeeker3.exe ※2
; F3でLeeyesの起動/切り替え プロセス名→Leeyes.exe
; F4でX-Finderの起動/切り替え プロセス名→XF.exe
; F5でCintaNotesの起動/切り替え プロセス名→CintaNotes.exe
; F6でCatMemoNoteの起動/切り替え プロセス名→CatMemoNote.exe
; F7でJaneStyleの起動/切り替え プロセス名→Jane2ch.exe
; F8でFirefoxPortableの起動/切り替え プロセス名→firefox.exe
※1)AIMP2は上記のスクリプトだとうまく動かなかったので、↓のように、単純に起動させるだけのスクリプトを書きました。(もともと多重起動はしません。)
; F1でAIMP2の起動/切り替え
F1::
Run,..\..\AIMP2\AIMP2.exe
return
※2)FileSeeker3は右クリックメニューのソフトを相対パスで指定している場合、AutoHotKeyからFileSeeker3を起動したときは右クリックメニューのソフトにファイルをうまく送れないようです。(自分はここでは右クリックメニューを絶対パスで指定しているFileSeeker3を登録してます。)ドライブレターを固定していない人はClaunchなどで起動した方がいいかと。
「AIMP2」と「CintaNotes」をタスクトレイに最小化
「AIMP2」と「CintaNotes」はちょくちょくタスクトレイに最小化させて使っているので、ランチャー用のキーと同じキーで最小化するためにちょっと工夫してみました。
; F5でCintaNotesの起動/切り替え
F5::
Process,Exist,CintaNotes.exe
if ErrorLevel<>0
Send, ^+@
else
Run, ..\..\CintaNotes_1_0B\CintaNotes.exe
return
「AutoHotkey」はポータブルアプリを起動させるスクリプトを記述することでホットキーランチャーとして使用することができます。ソフトが既に起動している場合は二重起動せずにそのソフトのウィンドウをアクティブにすることもできるので、タスク切り替えとしても便利です。(特にFirefoxPortableはソフト側で多重起動を抑止できないので重宝してます。)使用頻度が高いソフトや、よく切り替えるソフトに割り当てておくと使い勝手がよくなるかと思います。↓のサイトを参考にさせてもらいました。
相対パスに対応させるためのスクリプト
まずは連携するソフトを相対パスで指定するために↓のスクリプトをどこか適当に貼り付けてください。これで起動したいソフトを「AutoHotkey.ini」を基準にした相対パスで指定すればドライブレターが変わっても使えるようになります。
; 起動するソフトを相対パスで指定する
SetWorkingDir,%A_ScriptDir%
スポンサード リンク
例えば、自分のフォルダ構成は↓のような感じなので、
[tools1]
├─[startup]
│ └─[AutoHotkey104803]
├─[FirefoxPortable]
├─[Jane Style]
├─[AIMP2]
FirefoxPortable.exeを相対パスで指定する場合は
「..\..\FirefoxPortable\FirefoxPortable.exe」
という風に書きます。
ホットキーランチャー用のスクリプト
スクリプトの例としては↓のような感じです。
; F8でFirefoxPortableの起動/切り替え
F8::
Process,Exist,firefox.exe ←ここに起動するソフトのプロセス名を記述する。
if ErrorLevel<>0
WinActivate,ahk_pid %ErrorLevel%
else
Run,..\..\FirefoxPortable\FirefoxPortable.exe ←ここに起動したいソフトを相対パスで指定。
return
これでF8を押したときにFirefoxPortableが既に起動している場合はFirefoxPortableのウィンドウをアクティブにして、起動していない場合はFirefoxPortableを起動します。下線の部分を環境に合わせて書き換えてください。プロセス名は大抵の場合、実行ファイル名をコピペすれば大丈夫かと思います。(FirefoxPortableの場合は「firefox.exe」でないとうまくいかなかったんですが。)また、ソフト側で多重起動を抑止+アクティブ化するもの(JaneStyleなど)はソフトを起動するだけのスクリプトでもOKなんですが、AutoHotKeyでアクティブにした方が反応が速いような気がしたので自分は大体この形で書いてます。ちなみに自分は↓のようにF1~F8に割り当てています。
; F1でAIMP2の起動/切り替え ※1
; F2でFileSeeker3の起動/切り替え プロセス名→FileSeeker3.exe ※2
; F3でLeeyesの起動/切り替え プロセス名→Leeyes.exe
; F4でX-Finderの起動/切り替え プロセス名→XF.exe
; F5でCintaNotesの起動/切り替え プロセス名→CintaNotes.exe
; F6でCatMemoNoteの起動/切り替え プロセス名→CatMemoNote.exe
; F7でJaneStyleの起動/切り替え プロセス名→Jane2ch.exe
; F8でFirefoxPortableの起動/切り替え プロセス名→firefox.exe
※1)AIMP2は上記のスクリプトだとうまく動かなかったので、↓のように、単純に起動させるだけのスクリプトを書きました。(もともと多重起動はしません。)
; F1でAIMP2の起動/切り替え
F1::
Run,..\..\AIMP2\AIMP2.exe
return
※2)FileSeeker3は右クリックメニューのソフトを相対パスで指定している場合、AutoHotKeyからFileSeeker3を起動したときは右クリックメニューのソフトにファイルをうまく送れないようです。(自分はここでは右クリックメニューを絶対パスで指定しているFileSeeker3を登録してます。)ドライブレターを固定していない人はClaunchなどで起動した方がいいかと。
「AIMP2」と「CintaNotes」をタスクトレイに最小化
「AIMP2」と「CintaNotes」はちょくちょくタスクトレイに最小化させて使っているので、ランチャー用のキーと同じキーで最小化するためにちょっと工夫してみました。
- 「CintaNotes」の場合
; F5でCintaNotesの起動/切り替え
F5::
Process,Exist,CintaNotes.exe
if ErrorLevel<>0
Send, ^+@
else
Run, ..\..\CintaNotes_1_0B\CintaNotes.exe
return
- 「AIMP2」の場合
スポンサード リンク
- 関連記事