Evernote中のFreeMindファイルが起動・編集できない件の対策 改良版

先日書きましたEvernote中のFreeMindファイルが起動・編集できない件 回避策ですが、FreeMindが起動している間中、DOS窓が残っているという問題点がありました。

これは拡張子にFreeMindを起動するバッチフィアルを割り当てていたためですが、バッチ内部で起動しているJavaコマンドを直接拡張子に割り付ければいいのではないか、と思いつきました。

つまり、ちょっと長いですが

"C:\Windows\System32\javaw.exe" -cp "C:\Program Files\FreeMind\lib\freemind.jar;C:\Program Files\FreeMind\lib\commons-lang-2.0.jar;C:\Program Files\FreeMind\lib\forms-1.0.5.jar;C:\Program Files\FreeMind\lib\jibx\jibx-run.jar;C:\Program Files\FreeMind\lib\jibx\xpp3.jar;C:\Program Files\FreeMind\lib\bindings.jar" freemind.main.FreeMindStarter "%1"

というようなコマンドを、拡張子.mmに割り当てます。内部のJavaコマンドおよびJarファイルはフルパスに変更してあります。また起動するJavaコマンドはコンソールを表示しないjavaw.exeに変更しました。

WindowsXPでこのコマンドを拡張子.mmに割り当てたところ、Evernote内からFreeMindファイルが問題なく起動・編集できることを確認しました。DOS窓も残りません。

しかしWindowsVISTAでは、もうひと工夫必要でした。というのもVISTAでは、GUIで拡張子に割り当てられるのは単純なプログラムファイルに限られているようだからです(なんでこういう基本的なところで機能ダウンしますかね、VISTAは)。

調べた結果、コマンドラインでならXPと同等の割り当てができそうです。実行するのは以下のassocコマンドとftypeコマンドの2つです。

assoc .mm=FreeMind.Map

ftype FreeMind.Map="C:\Windows\System32\javaw.exe" -cp "C:\Program Files\FreeMind\lib\freemind.jar;C:\Program Files\FreeMind\lib\commons-lang-2.0.jar;C:\Program Files\FreeMind\lib\forms-1.0.5.jar;C:\Program Files\FreeMind\lib\jibx\jibx-run.jar;C:\Program Files\FreeMind\lib\jibx\xpp3.jar;C:\Program Files\FreeMind\lib\bindings.jar" freemind.main.FreeMindStarter "%1"

ちなみに、実行は管理者権限で行う必要があります。

これで、VISTAでもEvernote内からFreeMindファイルが起動・編集できるようになりました。