Windows 10で.ssnファイルをxyzzyのload-sessionで開く

すごく昔のエントリに、Windows 7で.ssnファイルをxyzzyのセッションファイルとして開く手順を書いたんですが、さっきWindows 10で同じ手順をたどったらうまくいかず、Windows 10でうまくいく方法を調べたのでメモ。

やりたいことは、特定の拡張子のファイルを開くときに、特定のアプリケーションの“コマンドラインオプション付きで”開くような関連付け、です。xyzzyセッションの場合は、拡張子.ssnのファイルを開くときに、xyzzy.exeに"-s"オプションを付けて開く関連付けができればOK。

Windows VistaWindows 7では、関連付けダイアログで.ssnにxyzzyを関連付けた後、レジストリエディタで
HKCU\Software\Classes\.ssn\shell\command\open

とかにできるREG_SZタイプのエントリを編集して
"C:\xyzzy\xyzzy.exe" "-s" "%1"
なんて文字列を指定してやれば良かった、というのは

923110.hateblo.jpに書いた通りなのですが、どうもWindows10では同じようには動かないらしい。

 「Windows」「関連付け」「コマンドラインオプション」辺りでGoogle先生に尋ねて調べて試したところ、以下の手順でWindows 10でもコマンドラインオプション付きの関連付けができました。

(1)レジストリ
HKCU\Software\Classes\.ssn
の設定があればまるっと削除

(2)コマンドプロンプトを「管理者として実行」で起動して以下のコマンドを実行
assoc .ssn=xyzzysesseion
ftype xyzzysession=C:\xyzzy\xyzzy.exe -s %1

※xyzzysessionは既存の名前(assocコマンドをオプションなしで起動すれば一覧を見られます)とかぶらなければなんでも良い。

(3)エクスプローラで適当な.ssnファイルをダブルクリック
⇒ファイルの関連付けダイアログが開くので、そこでxyzzy.exeを使うように指定

全く新規の環境なら(1)は不要で、レジストリの直接操作をしなくて済むようになったぶん安心感があります。

追記:上記設定のエントリはHKCUじゃなくてHKCRに作られるようになったみたいですね。