ちょっと先の未来クイズ第4問

(訂正版)
.iniファイルの関連付けと表示アイコンを別々に設定するには?

.iniファイルをメモ帳に関連付けた状態ではアイコンは下記レジストリキーで設定出来ます。
HKEY_CLASSES_ROOT\inifile\DefaultIcon
しかし規定のプログラムを秀丸エディタ(或いはほかのプログラム、たとえばワードパッド)にすると上記設定は無視され、次のキーが示すアイコンになってしまいます。
HKEY_CLASSES_ROOT\SystemFileAssociations\text\DefaultIcon
ここは.ini以外の他の拡張子にも影響するので書き換えは避けたいです。

規定のプログラムを変更して、なおかつアイコンは.iniファイル独自のものを設定する方法があれば教えて下さい。

(補足)
下記QAを読みましたが、
http://oshiete.goo.ne.jp/qa/6689616.html
最終的に
HKEY_CLASSES_ROOT\SystemFileAssociations\text\DefaultIcon
を書き換えるのでそれは除外します。

A 回答 (2件)

 No.1です。

 当方の Win8 環境で検証してみたので、追記します。

 オイラの場合「EmEditor」を常用テキストエディタにしているので
試しに「デフォルトアイコン」を初期設定の…
「%SystemRoot%\system32\imageres.dll,-69」
のままにして、「ファイルを開くプログラム」を…
「Applications\EmEditor.exe」
で設定してみました。
 その結果、いちおう所望のとおり機能してくれているようです。

 なお、この設定変更が、レジストリの何処のキーに該当するのかに
ついては、追求していません。


 他に、「ファイルの種類に関連づけられたアイコンを変更」という
ツールなどもあるようです。
 効果は未検証ですが、何となく使えそうな気がします。

参考URL:http://surviveplus.net/products/windowssofts/?na …
    • good
    • 0
この回答へのお礼

遅くなってすみません。
いろいろ紹介ありがとうございます。

その後自分でレジストリを調べた結果を書きます。
自分用備忘録です。
--------

【例】.iniファイルの規定のプログラムを秀丸エディタにして、アイコンは元のまま(歯車&メモ帳)にする。
(レジストリエディタからのコピペとエクスポートした.regファイルからのコピペが混在しているので表記に揺らぎがあります。適切に読み替えて下さい。「@」は(規定)を意味します)

●本来の記述場所・・・
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.ini](★1)
@="inifile"
"PerceivedType"="text"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\inifile](★1)
@="Configuration Settings"
"FriendlyTypeName"="@shell32.dll,-10151"(※3)

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\inifile\DefaultIcon](★1)
@="imageres.dll,-69"(※2)

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\inifile\shell\open\command](★1)
@=【"C:\Program Files\Hidemaru\Hidemaru.exe" %1】 ←メモ帳から秀丸に書き換えました。(※1)

●しかし・・・
実は※1の有効性を決定づけるキーがあります。それが下記。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\UserChoice
Progid=inifile (※4)
上記のようにinifileが指定されている、あるいはUserChoiceキー自体が存在しない場合に※1~3の指定が有効になります。

さて問題なのが、上記※4のProgidの記述がプログラム名になっている場合です。たとえば下記。
Progid=Applications\Hidemaru.exe (※5)

エクスプローラーで規定のプログラムを指定する時に、※1以外のプログラムを指定するとこうなります。(補足B参照)
この状態では※1~3の設定が無視されて、アイコン表示は下記のキーに従います。
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\text\DefaultIcon
@=【%SystemRoot%\system32\imageres.dll,-102】

上記のキーは他のファイルタイプにも影響するので.iniファイルのためだけに書き換えるわけに行きません。

【結論】
規定のプログラムと表示アイコンを個別に設定するには、エクスプローラーを使ってはいけません。※1と※2を直接書き換えて※4でProgidにファイルタイプを指定、もしくはUserChoiceキー自体を削除する必要があります。

---★1について---
HKCRキーには下記2つのキーの内容がマージされて表示されます。
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\
HKEY_CURRENT_USER\Software\Classes

---補足B---
※5の記述により下記キーのコマンドが指定されます。
【秀丸の場合】
HKEY_CURRENT_USER\Software\Classes\Applications\Hidemaru.exe\shell\open\command
【メモ帳の場合】
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\notepad.exe\shell\open\command

お礼日時:2013/08/26 20:30

>規定のプログラムを変更して、なおかつアイコンは.iniファイル


>独自のものを設定する方法があれば ~

 「FileTypesMan」というフリーソフトは、役に立ちませんか?

FileTypesMan(Vector)
http://www.vector.co.jp/soft/review/win95/util/s …

FileTypesMan 新着ソフトレビュー
http://www.vector.co.jp/magazine/softnews/120413 …


 1つの拡張子のファイルに対して、デフォルトアイコンと、開く
プログラムを、それぞれ別々に指定できるようです。

 因みに、参考 URLの 回答No.4 では同ソフトの使い方を例示して
しています。

 当方の Win8(64bit)環境で試してみたところ、開きたいソフトが
プログラムの一覧に出て来なかったので、事前に該当する拡張子を
「既定のプログラム」経由で指定してから、改めて同ソフトで設定
することにより、表示アイコンと起動するプログラムを別々に指定
することが出来ることを確認しました。

参考URL:http://oshiete.goo.ne.jp/qa/7803080.html
    • good
    • 0
この回答へのお礼

自分でレジストリを調べた結果を#2の方に書きました。ありがとうございました。

お礼日時:2013/08/26 20:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報