ホームCG作品ソフトウェア製品自己紹介ブログゲストブックリンクその他のタスク

アイコンの使い方

基本的だけど効率アップに欠かせないアイコン!WindowsXP アイコンの使い方を紹介

第4話 ファイル(関連づけ)アイコン変更

記事掲載:2004/07/07 ( 更新:2004/10/02 )

1. ファイルのアイコンを決めているのは関連づけ

Windows で表示されるファイルのアイコンは "関連づけ" られたソフトのアイコンになっています。テキストファイルやExcelファイルなどを、ダブルクリックしたときに起動するソフトウェアが指定しているアイコンになっているのです。

もっと詳しくいうと、エクスプローラ(マイドキュメントなどフォルダを開いた状態)のメニューから [ ツール(T) ] > [ フォルダオプション(O)... ] を開いて、フォルダオプションの [ ファイルの種類 ] タブを押すと [ 登録されているファイルの種類(T): ] というのが表示されます。ここに表示されるのがファイルの関連づけの一覧です。

リストをクリックしてから、 xls とキーを押してみましょう。Excel がインストールされていれば、Microsoft Excel ワークシート というファイルの種類が表示されるはずです。拡張子は XLS になっています。

拡張子というのはファイル名の最後につく、ファイルの種類を表す書き方です。通常、ファイル名は (ファイル名).(拡張子) となっています。最後の .(半角ピリオド) の後ろ、一般的には3文字が拡張しと呼ばれるものです。もし、あなたの Excel ファイルに .xls という拡張子が表示されていなければ、フォルダオプションの、[ ファイルの種類 ] の隣のタブの [ 表示 ] を選択します。

[ 詳細設定: ] リストの [(v)登録されている拡張子は表示しない ] のチェックを外すと、拡張子が表示されるようになります。ファイル名の拡張子は、ファイル名を変更するときに自分で変えることができるため、表示しない方が良い気もしますが、上級者になると、そのファイルが何のファイルなのか?確実に知りたいので拡張子を表示するのが一般的です。

拡張子が表示されたら、[ ファイルの種類 ] に戻って、XLS の [ 詳細設定(V) ] を押してみましょう。

[ アクション(A) ] というのが、ファイルをダブルクリックしたときや、右クリックして表示されるリストの一番上に表示されている、起動するアプリケーションの指定です。太字がダブルクリックで起動するソフトとその起動方法の名称です(※英語になっているものも、Windows のシステムによって日本語表示されることがあります)。一般的に、最後にインストールして登録されたアクションのアプリケーションのアイコンがファイルのアイコンになっているはずです。

ここで [ アイコンの変更(I)... ] を押すと、ファイルのアイコンを変更できます。

後はファイルのアイコンの変更と同じです。このページで紹介している Officeドキュメント の Excel ファイルに変更してみました。OK を押して、ファイルの種類の変更も OK を押します。 [ 登録されているファイルの種類(T): ] を確認して、アイコンが変わっていれば OK です。

2. 関連づけはレジストリに登録されている

実はこの方法では変更できない、ファイルの関連づけがあります。それは .bat (バッチファイル) です。

ダブルクリックすると、コマンドプロンプト(真っ黒な画面の文字だけのウィンドウ)が表示されて、何かが実行されるアレです。時々、Java などのソフトの起動で使用されているのを見たことがあるかもしれません。

実は、Windows XP より前の Windows では、フォルダオプションのファイルの種類にバッチファイルも表示されていました。しかし、XP では表示されなくなっています。おそらく、バッチファイルは重要なファイルなので、これが起動できなくなるといろいろな問題が発生するため、安全策として、変えられないように表示されなくなったのだと思います。それでも .bat ファイルのアイコンも変更したいですよね?

前回紹介したように、アイコンの情報はファイルかレジストリに記録されています。この関連づけの情報はレジストリに記録されています。それを直接変更してやれば、ファイルのアイコンも変更できます。

ここからは慎重で確実な作業が必要です。また、すべて自己責任で行って下さい。操作を間違えると、Windows を壊すこともあります。

まず、レジストリを変更するソフトを起動します。これは Windows 標準のソフトですが、初心者がレジストリを謝って変更して壊さないように、スタートメニューには登録されていません。スタートメニューの [ ファイル名を指定して実行(R)... ] から起動します。

ファイル名を指定して実行 から regedit と入力して起動します。Registry Editor の略ですね。

レジストリエディタが起動しました。ここからは操作を間違えないで下さいね。

左にあるツリーが、レジストリ・キーを示しています。キーはフォルダのように階層になっています。マイコンピュータ のすぐ下、HKEY_CLASSES_ROOT を選択してみます。

ツリーに * や .(拡張子) が沢山表示されたと思います。

ここに表示されている 拡張子 キー の中に、フォルダオプションのファイルの種類で指定された情報が記録されています。といっても、ここに直接書かれているのではなく、ここにはそのファイルの種類名が書かれています。早速、さっき登録した Excel ファイルを見てみましょう。ツリーの HKEY_CLASSES_ROOT が選択されている状態で .xls とキーを押してみましょう。.xls キーが表示されます。

.xls キーを見てみると (規定) というところに Excel.Sheet.8 という値が入っています。(規定) とは .xls キー自体の値です。レジストリにはそのキーに複数の値を入れることが出来ます。この、拡張子の (規定) に記録されている値が、そのファイルの種類を示す値です。Excel.Sheet.8 は私が使っている Excel のバージョンによるものなので、環境によって違う名称になっていると思います。

アイコンの指定はこのファイルの種類を示す値の キー のところに記録されています。そのまま Excel.Sheet.8(※あなたの環境で表示された値) とキーを押してください。

Excel.Sheet.8 キー(※環境によって違う) を見てみると、サブキー(ツリーの [+] を押して開く) の中に DefaultIcon キー があります。DefaultIcon キーにはさっき登録したアイコンファイルのパスが記録されています。最後に ,0 がついているかもしれませんが、これは複数のアイコンがひとつに入っているアイコンファイルや DLL ファイルの場合用の記述で、その中の何個目か?という指定です。ひとつのアイコンファイルの場合は特につけなくて OK です。

3. .bat ファイル(バッチファイル) のアイコンを変更する

さて、アイコンファイルの指定の仕組みがわかったので実際に変更してみましょう。とはいえ、この操作はとても危険で、間違えたり他の値を書き換えたり消すと Windows 自体が起動しなくなるかもしれません。慎重に、確実に、自己責任で、お願いします。

普通のファイルはフォルダオプションで変えた方がよいですね。ここではフォルダオプションでは変更できない バッチファイル(.bat) のアイコンを変更します。

レジストリエディタで HKEY_CLASSES_ROOT\.bat キー を見ると、(規定) には batfile という値が入っています。

では HKEY_CLASSES_ROOT\batfile\DefaultIcon キーを見てみます。

%SystemRoot%\System32\shell32.dll,-153 という値がありますね。これは Windowsフォルダ内の System32 フォルダ にある shell32.dll の中のアイコンが指定されているという意味です。

ここにファイル名を指定します。間違えるとイヤなので、Explorer のアドレスを利用して正しいファイル名を調べましょう。Explorer のアドレスにファイル名を入力すると、オートコンプリート機能によりファイル名の一覧が表示されます。選択すれば正しいファイル名が入力されます。(入力後に Enter を押さないでください)

これは私の環境での値です。選択してコピー(Ctrl+C)します。

レジストリエディタで DefaultIcon の (規定) をダブルクリックして値を変更します。

値を貼り付けて(Ctrl+V)、OK を押します。

値が変わっていることを確認します。これではまだアイコンは変更されていません。アイコンの表示が実際に変わるには、「アイコンが変わったよ」というのをシステムに伝えないといけませんが、プログラム以外からそれをする方法はありません。つまり、レジストリを直接書き換えた時には、手動でそれをする方法はないのです。

なので、システムを再起動して、アイコンをリセットしてもらいます。ログオフでも OK です。

ログオフしてログインするとアイコンが変わっています。どうでしょうか?

正しく操作できたらOKですが、レジストリを変更するのはとても危険です。私はプログラマでもあるので、開発中にレジストリを沢山追加・削除・変更しますが(私の場合はプログラムからですが)、ミスして間違った事をして、Windows を不安定にしたことが何度かあります。具体的には、Windows がなかなか終了しなくなったり、何度も固まって動かなくなったりという感じです。たぶん変なレジストリのせいだと思います。

私は開発者なので仕方ないので、自己責任で、Windows の再インストールをしました。

それはとても面倒だし、危険なので、レジストリの変更はあまりやらない方がよいです。実は、レジストリの変更を自分で行わなくても、簡単に安全に、やってくれるソフトがあります。次回はそれを紹介します。