秀丸エディタで「お気に入りの動画、音楽、アプリケーション」などを
ファイル名で管理し、その行から簡単に起動できるマクロを作りました。
具体的には HKEY_CLASSES_ROOT から目的の拡張子を調べ、取得できた定義を
元に、再度レジストリから open コマンドを調べ、目的の exe を取得し、ファイル
を渡してアプリケーション起動、というのを、
・reg コマンド( Windows XP 以降で標準 / win2000 はオプション )
・runex() マクロ ( 秀丸 8.00 以降 )
を利用して再現したのですが、完成してからもっと簡単にできることを知った。
◆ShellExecute を行いたい場合 rundll32.exe url.dll,FileProtocolHandler "目的のファイル" |
とやるだけで良かった… 簡易ならば。
関連付け実行は url.dll 内の FileProtocolHandler で再現できるので、 ファイル名
を渡してやるだけで OK です。
例えば c:\hoge.mp3 というファイルを再生する秀丸マクロはこんな感じ。
run( "rundll32.exe url.dll,FileProtocolHandler" + "\"c:\\hoge.mp3\"" );
但し Windows Vista SP2 にて検証した所、長い日本語ファイル名?だと
関連付け起動が出来ない場合がありました。
バグなのか、仕様なのかは不明。
該当プロセスの exe に引数を渡すと起動できたので、自力でレジストリから
関連付けを調べ、引数を渡す方が完璧かも。
私が作成したマクロでは、カーソル行の文字列に対して
・trim()
・trim( "ファイルに利用できない文字列" );
とやっているのですが、これだけで非常に実用的なお気に入りリストファイルが
出来上がりました。
ファイルをどこにやったか忘れても、テキストファイルに記載しておけば
◆お気に入り.txt video_fav01.mp4 // ここは同一ディレクトリのファイル video_fav02.flv c:\video\video_fav02.flv // フルパスでのお気に入り ◆後で聞こう c:\music\music_fav02.mp3 // 2010/01/01 追加 c:\music\music_fav03.mp3 // 2010/02/01 追加 ◆フリーソフト c:\exec\freesoft\base64.exe // base64 のアプリ d:\bin\zeroremote\zeroremote.exe // リモートデスクトップ ..\app\launch.exe // 相対パス ◆お気に入りサイト http://www.google.co.jp/ |
上記のように記載しておけば、テキストファイルから "お気に入り" を
キーボード一発、またはマクロ実行をクリックして起動できるので非常に便利。
全てのファイル、実行ファイルに対してコメントを残し、お気に入りの概念を
適応できるのはオススメ。
0 コメント:
コメントを投稿