Windows7のコンテキストの編集について

ASSOCとレジストリエディタで、コンテキストにかかわる関連付けを修正

△メモエリアにもどる

twitterでつぶやく
はてなブックマークに登録
Yahoo! bookmark

Windows7ではプロパティからコンテキストを修正できない

Widnowsのコンテキストメニュー

Widnowsのコンテキストメニュー

 ファイルの上で右クリックしたら、ぱらりと出てくるメニューを
「コンテキストメニュー」
というのだけども。
 Microsoft Office2010 をインストールしたら、HTMLファイルの編集(E)の割り当てが、 Microsoft Word に割り当てられてしまった。

 も、ちょー イラっとする。
つい 編集 を押しちゃって、そのたびにWordが開くからねぇ。

 従来のWindowsと異なり、Windows7はファイルのプロパティでコンテキストの内容を修正できない。
ま、HTMLファイルに関しては、
インターネットオプション→プログラム→HTMLの編集
で変更はできるのだけども。

今後のことも考え、今回はあえて ASSOCとレジストリエディタで、コンテキストにかかわる関連付けを修正することにする。


手順

ファイルのプロパティ
HTMLドキュメントになっている。
プロパティを見ると、ファイルの種類が
HTML ドキュメント
となっており、複数の拡張子をまとめて
「ファイルタイプ」
として関連付けていることがわかる。
そこでファイルタイプを確認する必要がある。

ファイルタイプは、コマンドプロンプトから ASSOC で調べることができる。
というか、本来 拡張子に対する関連付けは ASSOC と FTYPE を使うものなんだけど、GUIが久しい今日にいたっては、めったに使われないかもしれないねぇ

アクセサリ→コマンドプロンプト を起動して、
> assoc .html
と入力すると、htmlfile というファイルタイプであることがわかる。
ちなみに
> assoc .htm
と入力しても、htmlfile と返されるので、これらの拡張子が htmlfile というファイルタイプにまとめられていることがわかる。
さらに
> assoc htmlfile
と入力すると、HTML Document であることが挙証される。

Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\admin>assoc .html
.html=htmlfile

C:\Users\admin>assoc .htm
.htm=htmlfile

C:\Users\admin>assoc htmlfile
htmlfile=HTML Document

この プロンプトで regedit と入力すると、レジストリエディタが起動する。
HKEY_CLASSES_ROOT\htmlfile
を見ると・・・、はいはい、ありました。shell の中の Edit という項目が 編集(E) の部分。
正確には
HKEY_CLASSES_ROOT\htmlfile\shell\Edit\command
に割り当てられた文字列が、起動されるプログラムのフルパス名。

私の環境では↓このように記載されていた。
"C:\Program Files\Microsoft Office\Office14\msohtmed.exe" %1
Officeの関連付けプロセス(つまりランチャー)を呼んでるね。
おしりの %1 は、そのプログラムで開くファイル名のことで、この場合は クリックされたファイル自身になる。

レジストリエディター
TeraPadのプロパティ
開きたいプログラムのフルパス名を得るには、スタート→プログラムにある それぞれのソフトの上でプロパティをとると表示されることが多い。(Officeの場合は表示されないので、\Program Files\Microsoft Officeの配下からさがす)

たとえば、テキストエディタの TeraPadは
"C:\Program Files\TeraPad\TeraPad.exe"
である。

レジストリエディタで
HKEY_CLASSES_ROOT\htmlfile\shell\Edit\command
の値にフルパス名を入力する。
"C:\Program Files\TeraPad\TeraPad.exe" %1
フルパス名をダブルクォーテーションでくくるのは、Program Files という部分にスペースが入っているため。
これをしないと、C:\Program というファイルを起動することになる。

HKEY_CLASSES_ROOT\htmlfile\shell\Edit\command
これで完了!

おしまいに

 もっとうまいやりかたがあるのかもしれないけどね。
プロパティからの修正を不可にしたのなら、純正のコンテキストエディターみたいなのがあるといいんだけどなぁ。

ま、拡張子がそれほど一意的な識別子でなくなったいま、拡張子で挙動を変えたり設定したりという概念は古くはある。
かつて拡張子は専用ソフトウェアの識別子の意味があったけど、いまはそうでもないからね。

とはいえ、GUIの設定をCUIでしなきゃならんというのは、根源的な自己否定ともいえるので、いい方法が編み出されるといいんだけど。

(2010/11/20・山崎はるか)



(C)DIAMOND APRICOT TELECOMMUNICATIONS LABORATORY / since 1995
ホーム | お問い合せ