Windows 2000/XP カスタマイズ備忘録
開 設 :2003/01/19
最終更新:2005/09/30
ご連絡はこちらまで→けいじばん
または→qtquizo(アットマーク)yahoo.co.jp

 このサイトは、Windows 2000/XP のさまざまなリソース、通常変更することのできないアイコン・メニュー等のカスタマイズを試みるものです。システムファイルやレジストリを改変するので、すべては自己責任でお願いします。何が起きても一切責任は持てません。

フレームなし
フレームあり

実験環境
Windows 2000 SP4 + IE6SP1
Windows XP SP2 + IE6SP1

新着情報
2005/09/30IE の検索ダイアログ Google検索ボタンつきをUp
2005/05/17すっかり忘れてたIE の検索ダイアログの修正版UP
XP移行にともなって、XPについても不完全ながら調べたこと追加。というか、XPの場合あまりボタンとかいじる気がしないので……
2004/12/10XPに移行しちゃいました。
2004/08/15shdoclc.dll に追加。IE の検索ダイアログのカスタマイズ。
SHELL32.dll に追加。
mshtml.dll 追加。
2004/02/19フレーム導入。可読性をこれから考えます。
2003/10/09shimgvw.dll について追加。
2003/07/09SP4で確認。
および、explorer.exe タスクトレイ256色表示について追加。
2003/03/10shdocvw.dll のAVI ファイルをアップしました。
2003/03/06SHELL32.dll のAVI 置換について追加しました。
2003/03/03urlmon.dll のコーナー, inetcpl.cpl に関して追加しました。

リンク
・「フォルダのカスタマイズ」へ
・小物ツールおきば


 First Step
  
   Tools

・Resource Hacker……フリーウェア
・eXeScope……シェアウェア、Resource Hackerよりベター?
・@icon変換……アイコン作成、編集。フリーウェア
・Padie……減色ツール。フリーウェア
・SRCpy……システムファイルを上書き・削除するユーティーリティ
Radish AVI Maker……ダイアログのAVI動画を簡単に作れるツール
・その他……レタッチソフト、簡単な編集にはMS-Paint も役に立ちます。CRCチェッカ。

   Important!
★ファイルを改変する場合は、必ずバックアップを保存しておくこと。とくにeXeScopeは、一箇所でも変更すると保存するか聞いてきますが、このとき「はい」を選択すると上書きするので注意しましょう。

★アイコンを差し替えるときは、大きさと色数に注意しましょう。ビットマップなども、デフォルトと同じにすると(圧縮されていないかぎり)同じサイズになります。変更後のファイルサイズが変わらないので心理的に楽です。なお、eXeScopeでは色数・大きさの異なるアイコンは差し替えることができないようになっています。

★少なくとも回復コンソールは必要です。一番よいのは、別ドライブなりパーティションなりにもう一つW2k/XPをインストールして、いつでもファイルを戻せる手段があることです。ファイルシステムがFAT32ならば、9x, dosでも可ですが。
改変に失敗して有効なファイルではなくなってしまい、起動に失敗(msgina.dll)や、ログオンできない(explorer.exe, shell32.dll 等)、といった経験がありますが、回復コンソールでファイルを書き戻して事なきを得たことがあります。




 shdoclc.dll
    (%systemroot%\system32\)
  
   Menu
\24641
XP/2000
IE のウインドウ上での右クリックメニューのカスタマイズ

	POPUP "ここにボップアップする状況別の指定 "
	{
		MENUITEM "description",  number
		MENUITEM "description2",  number2
			・
			・
			・
	}

descriptionを変更することによって、IEのウインドウ上で右クリックしたときの、ボップアップメニューの文字列・キーボードショートカットを変えます。 MENUITEMを行ごと削除することによって、"背景に設定", "デスクトップ項目として設定"などの不要な項目を削除することができます。 またPOPUPを入れ子にすることによってサブメニュー化することも可能です。

↓IEで右クリック↓リソースハッカーの画面
↓画像上で右クリック

すべての項目に含まれる、「MENUITEM " ", 6047」は、
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt]
に記述されている、メニュー拡張の挿入ポイントであるので残しておきます。

なお、「MENUITEM " ", 6047」は Resource Hacker からは見えません。 「MENUITEM SEPARATOR」と表示されてしまうので、RHを使うときは自分で書く必要があります。 eXeScope ならきちんと表示されます。右上の画像は、書き換え済みです。 「MENUITEM SEPARATOR」が二つ連続しているところの、上のほうを書き換えましょう。


   Icon
XP/2000
\191
「お気に入りに追加」画面のアイコンです。
\13104
IEで、ダウンロードが完了したメーセージダイアログ上のアイコンです。


   23
    HTMLで実現されている ダイアログ、エラーメッセージのソース。検索ダイアログも。

shdoclc.dll: IEの検索画面
\FIND.DLG
\FINDINC.DLG
XP/2000
Ctrl + F で表示される IE の検索ダイアログのソースです。HTML と JavaScript で記述されています。 ちょっといじくれば便利になるのでためしてみてはいかがでしょうか。

一応わたしの作った試作品スクリプトをおいておきます。デフォルトのラジオボタンが 使いにくかったのと、正規表現を使えるようにしてみようかなと思ってつくってみました。

shdoclcFind.ZIP  正規表現付き

shdoclcFind4.zip  検索結果表示・正規表現付き(修正版05/05/17)

shdoclcFindwithGoogle.zip  ↑プラス Google検索ボタンつき

これを解凍して、でてきたファイルをそれぞれテキストエディタで開き、全体をコピーしてから FIND.DLG と FINDINC.DLG の右画面に置き換えペーストしてください。(RHを使う場合。)
お好みで FINDDLG.html にある 「MS UI Gothic」 を書き換えて、フォント指定をカスタマイズすることもできます。

Google検索ボタンつきは、新たなウインドウを既定のブラウザで開くので、
たぶんタブブラウザとかでも動作するでしょう。

おそらくこのソースはIEのバージョン依存で、9x, XP以降にも共通でしょう。

\HTTP_400.HTM 〜 \HTTP_501.HTM
\DNSERROR.HTM
\SYNTAX.HTM
2000
『404 ページが見つかりません』などの HTMLソースです。
フォントやイメージをいじると楽しいかも。
ちなみに、イメージとかは C:\WINNT とかに置いて、絶対パスで書いて指定するのも可です。
そうすれば自作のBMPファイルでも表示することができます。(GIFを置き換えるのは面倒くさい。)

XPでは
XP sp2 では、xpsp2res.dllにあります。



 SHELL32.dll
    (%systemroot%\system32\)
  
   AVI
XP/2000
\150〜166
ショートカット等を検索しているときのサーチライトの動画と、ファイルを検索、ファイルを移動、ファイルを削除しているときの動画。

今回は、リソースハッカーを用いました。

まず、XP以降( XP, .NET SERVER 2003, LongHorn 等)のSHELL32.dll を入手し、RHで開きます。
当該avi動画を選択し、

 →左ペインで右クリック
 →保存する [AVI : リソース名: リソース言語 ]
 →名前をつけてaviファイルを保存
 (リソース名、リソース言語には、そのaviファイル固有の番号が入ります)

こんどはw2kのSHELL32.dll をRHで開き、置換したい動画を右画面に表示させ、

 →左のツリーを右クリック
 →リソースを置き換える
 →リソースを含むファイルを開く
 →さきほどのavi ファイルを選択……
といった流れです。

その際、「リソースの種類」、「リソース名」、「リソース言語」 を入力するダイアログがでてきます。
ちょっと分かりにくいですが、左のツリーが AVI──150──1041 となっていれば、AVIがリソースの種類で、150がリソース名、1041がリソース言語です。

移植元の「リソース名」と「リソース言語」が移植先と一致していれば、RHのメニュー→アクション→「リソースを*.res形式で保存する」という機能を用いて、ツリーごと入れ換えることができます。

ファイルサイズはもちろん変化しました。が、いまのところ動いています。。。


\150
ショートカットのリンクがきれているときに、リンク先を自動でサーチしているときの懐中電灯の動画。
\151
ファイルの検索中に、左ペインの上の隅で動いている、ちっちゃな虫眼鏡の動画。
\152
コンピュータの検索の動画でしょうか。\151とおなじ大きさ。
\160: ファイルの移動
\160
フォルダの間をファイルが飛んでゆく動画。ファイルの移動中に用いられます。
\161
フォルダの間をファイルが飛んでゆく動画。ファイルのコピー中に用いられます。
\162
フォルダからごみ箱にファイルが飛んでゆく動画。
\163
ごみ箱からごみが飛んで行って消える動画。
\164
フォルダから直接ごみが飛んで行って消える動画。
\165
ファイル等の属性を大量に変更したときに用いられるのでしょうか。 ドキュメントがチェックされて移動してゆく動画。
(ドライブのプロパティ→「このディスクにインデックスをつけて、検索を速くする」のチェックをはずして、サブフォルダのインデックスを 削除したときにこの avi を確認しました。)
\166
地球を虫眼鏡で見ている動画。


   Bitmap
SHELL32.dllのビットマップはあまり使われていない模様。

\309
画面のプロパティ→背景タブのモニタの画像? 184*170/4bit


   Icon
XP/2000
膨大なアイコンリソース。窓の手やレジストリから変更できるものも多い。

\45(213〜218)
スタートメニューから「UserNameのログオフ」を実行したときのダイアログのアイコン。ちなみにシャットダウンの方は、msgina.dllです。
\46(219〜229)
(マイコンピュータではなく)エクスプローラ形式でウインドウを開いたときのアイコン。
\145(297)
ファイル上書きの確認ダイアログに表示されるアイコン。
\146(298)
フォルダ上書きの確認ダイアログに表示されるアイコン。
\160(337〜338)
スタートメニュー「ファイル名を指定して実行」のアイコン。
\161(339〜340)
ファイルやフォルダを完全削除するときの確認ダイアログに表示されるアイコン。


   Menu
XP/2000
explorer上での右クリックメニューや、ツールバーの「ファイル」「編集」「表示」等のメニュー
とくに、\210,215 が重要。

\196〜207
ファイルなどを右クリックでドラッグアンドドロップしたときに出るメニュー。
\210
ファイルやフォルダを右クリックしたときのメニュー。
\215
フォルダやデスクトップで、何もないところで右クリックしたときのメニュー。

わたしは、使う頻度の少ない「等間隔に整列(&L)」「最新の情報に更新(&E)」「このフォルダのカスタマイズ(&C)」を削除しました(下の画像)。 また例によってキーボードショートカットも全部消去。

ファイル上で右クリック何もないところで右クリック
\216(,217も?)
explorerにおける、ツールバー・プルダウンメニュー「編集」と「表示」内の詳細。
browselc.dllも参照してください。
\221
「アイコンの整列」の「名前順」「種類順」「サイズ順」「日付順」
\227
ごみ箱のツールバーメニュー「ファイル」と、「アイコンの整列」の「名前順」「元の場所順」など。
\246,247
マイコンピュータでドライブを整列させるときの文字列と、「フォーマット」などのファイル文字列。
\250
ブリーフケース関連。
\258,259,303
検索結果ウインドウの、 右クリックメニュー、ツールバーのメニュー。
\353〜356
プリンタ関係のメニュー。
\359
スタートメニューを右クリックしたときのメニュー。

追記:
1.上右の画像の「縮小版(H)」の(H)はレジストリにありました。
2.ファイル右クリックメニューを変更すると、folder.htt や wsh などでInvokeVerbコマンドを使用している場合、「プロパティ(&R)」などと指定してる文字列を変更しないと使用できなくなることがあります。


   String Table
\4〜268
さまざまなダイアログメッセージ。エラー等。
\273〜332
ツールバーメニューを選択したときにステータスバーに表示されるメッセージです。
\337
文字列"アプリケーションから開く""アプリケーションから開く...""プログラムの選択..."
\369〜529
さまざまなダイアログ・エラーメッセージ。\387にはおなじみの「共有違反がありました。送り側の...」なども。


   Dialog
XP/2000
ファイルのプロパティ、ファイル名を指定して実行、ファイル検索の左ペイン、から、 ファイル削除の確認、コピーしています……に至るまでのダイアログのリソースがここにあります。 フォントや大きさなど自由自在に変えられます。
というか、フォントを変えると、行間や文字の大きさが微妙に変わってはみ出したりするので ダイアログの部品の配置をかたっぱしから変えていかざるをえなくなります。
大変な作業ですが、楽しくないこともないです。
その数、100個以上。そのうち、めぼしいのは3分の1くらいです。
この作業の直後に WindowsUpdate があって SHELL32.dll が更新されると悲劇ですが……

XPでは xpsp2res.dll 等にも分散しているようです。



 shdocvw.dll
    (%systemroot%\system32\)
  
   AVI
XP/2000
\256
IEのダウンロード中のファイルが地球から飛んでくる動画。

SHELL32.dllのあとに、こちらのAVIも入れ換えてみました。 (XP はここだけ古い16色aviなんですね)  自分で作ってしまいました。
これです。(shdocvwDL.avi 10.4KB)
作成するにあたって「Radish AVI Maker」 というソフトウェアを使用させていただきました。
なお、差し替えかたはSHELL32.dllのコーナーを参照してください。


   Bitmap
標準のボタン関係のリソース

\325〜330
explorerとIEの標準のボタンのうち、切り取り・コピー・貼り付け・エンコード・関連先の ビットマップリソース。二つずつカラーとグレーアウトしたものが組になり、 それぞれ 20px/4bit, 16px/4bit, 20px/8bit の順番で、大きいボタン・小さなボタンに対応。 その他の標準のボタンに関してはbrowseui.dllを参照してください。
\534,535, 4030〜4033
保存・印刷などの16pxのビットマップだが、使われていない?



 browseui.dll
    (%systemroot%\system32\)
  
   Bitmap
標準のボタン関係のリソース

\261〜279
explorerとIEの、標準のボタンのリソースのほとんどがここにあります。 ほとんどの環境で(画面の色16bit以上)なら、265〜268と276〜279を編集することに なるでしょう。二種類 × グレーアウトしたものとの組 × 大小 で計8つ。 小さいほうしか使わないなら、267, 268, 278, 279 の4つだけでOKです。色数は8bitです。 いろいろボタンがカスタマイズ可能なタブブラウザが存在しますが、そこらへんからリソースを 拝借するといいかもしれません。

\304〜306
explorerとIEの、画面をロード中に右上で回転する地球のマークのリソース。
これは横方向で同じ列にある標準のボタンの大きさによって変わります。
\30438*1558/8bitIEでボタンが「大」のとき
\30526*1066/8bitIEでボタンが「小」のときと、explorer でボタンが「大」のとき
\30622*902/8bitexplorer でボタンが「小」のとき
背景に数ピクセルの黒が両側にあるので、差し替えるなら黒い背景のものがいいようです。
それがいやなら、IEだけに関しては、レジストリで簡単に入れ換えられます。
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar]
どれも文字列で、
"smBrandBitmap"26*26の回転中の画像のパス
"SmallBitmap"26*26の停止した状態
"BrandBitmap"38*38の回転中
"BigBitmap"38*38の停止した状態
このレジストリエントリはOutlookExpressも支配しているようです。
また、このマークじたいを表示しないようにすることもできます。
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\Explorer]
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\ShellBrowser]
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\WebBrowser]
それぞれの "ITBarLayout" のREG_BINARY値において、
オフセット0010の最初の値(多分1Bになってるはず)から8を引く。
16進数の計算です。(1B-8=13)
  Explorer→エクスプローラ
  ShellBrowser→マイコンピュータ形式
  WebBrowser→IE
にそれぞれ対応しています。

\13599〜13641
IE6から実装された、メディア・エクスプローラバーのリソース。



 browselc.dll
    (%systemroot%\system32\)
  
   Menu
XP/2000
explorerとIEのツールバーにある、「ファイル」「編集」「表示」などのメニュー。

\263,266
explorerのツールバーのメニューです。IEも共用している部分があります。
explorerの「編集」「表示」内の詳細なメニューは、SHELL32.dllの方です。
\264
IEを全画面表示にしたときのツールバー右クリックのメニュー。
\267
特にIEのメニューです。
\268
タスクバーを右クリック→ツールバー の「デスクトップ」「クイック起動」「新規ツールバー...」のメニューです。

↓explorer↓IE

   String Table
XP/2000
\51〜74
ツールバーの「ファイル」「編集」などを選択したときに、ステータスバーに表示されるメッセージです。
\563〜615
ツールバーのドロップダウン・メニュー内のそれぞれの項目を選択したときに、ステータスバーに表示されるメッセージです。
\807
explorerとIEのアドレスバーのタイトル。"アドレス(&D)"とあるほうです。

Menuについては、絶対使わないと思われるものは削除しても大丈夫でしょう。
SHELL32.dll, shdoclc.dllもそうでしたが、browselc.dllなどはとくにファイルサイズ自体が変わっても今のところ不都合はでていません。



 USER32.dll
    (%systemroot%\system32\)
  
   Menu
2000
\16
タスクバーのボタンを右クリックしたときの、「元のサイズに戻す」「移動」「サイズ変更」などの文字列?
\44
コンボボックス内で右クリックしたときの、「IMEを開く」などの文字列?


   Icon
2000
ダイアログや、スタートメニューボタンのアイコン。

\101(7,8)
\102(9,10)
\103(11,12)
\104(13,14)
\105(15,16)
順に、警告、問い合わせ、エラー、情報、旗マーク。
ダイアログに表示されるアイコンです。
旗のアイコンはスタートメニューや、システムダイアログに使われます。
32px/4bitのものを編集することになるでしょう。XPなどからもってきた アイコンリソースは8bit以上なので、@iconでいったんビットマップに落としてから、 レタッチソフトで修正し、padieで減色、再び@iconでアイコン化するとうまくいきます。

今はこんなの(icofile)




 comctl32.dll
    (%systemroot%\system32\)
  
   Bitmap
コモンコントロール関係。アプリケーションに共通のリソース

\120
アプリケーションに共通の、「切り取る」「貼り付け」「コピー」「元に戻す」「繰り返す」「開く」「保存」……の ボタンのリソース。240*16/4bit です。 ここを編集したら、エディタのボタンが変わりました。アプリケーションに共通とはいえ、自前のリソースを もっている場合ここは参照されません。
\121
120の大きいバージョン。360*24/4bit
\124, \125
「ファイルを開く」や「ファイルの保存」ダイアログの、「戻る」・「親ディレクトリ移動」・「新規フォルダ作成」などのボタンの画像です。



 explorer.exe
    (%systemroot%\)
  
   Bitmap
\143〜155
タスクバーとスタートメニューのプロパティ ダイアログに使われるビットマップ。
\157〜166
大きいアイコンを使ったとき、スタートメニューの左側にでてくる縦のビットマップ。窓の手で変えられる。


   Menu
2000
\204
スタートメニュー。
わたしの explorer.exe を RH で開いたときの画面を置いておきます。


\205
タスクバーを右クリックしたときのメニューの文字列。


   String Table
XP
\19, \20
スタートメニュー上のツールチップの文字列。
\37
スタートボタン上の「スタート」という文字列。
\439
スタイルを適用している場合の、スタートメニュー上の文字列。とそのインフォチップ。
「ログオフ」「シャットダウン」(7012)、「検索」「ファイル名を指定して実行」「ヘルプ」(7020〜7023)


   その他
Windows2000のタスクトレイ(常駐アプリのインジケータ)を、256色表示させる。

バックアップ必須!

まず、システムドライブ\winnt\explorer.exe のプロパティを開いて、バージョンを確認する。

SP4 適用済み、 explorer.exe  5.0.3700.6690   CRC32: A91E60EBである場合

バイナリエディタでexplorer.exeを開き、以下のアドレスにおいて、16進の値 "01" を "11" に修正して保存。
0x88EE : 01 → 11
0x14E25 : 01 → 11
0x14E36 : 01 → 11
書き換え済みexplorer.exeのCRC32: E447E967

SP3 適用済み、 explorer.exe  5.0.3502.5321   CRC32: 34F4E3FDである場合

バイナリエディタでexplorer.exeを開き、以下のアドレスにおいて、16進の値 "01" を "11" に修正して保存。
0x1CDE : 01 → 11
0xD7E4 : 01 → 11
0x14CE9 : 01 → 11
0x14CFA : 01 → 11

この情報は http://www.dr-hoiby.com/TrayIconIn256Color/ が出所であります。
なんでMSがこんな簡単なことをしなかったか、それは多分、こうしても完全な 8bit 表示ができなかったからではないでしょうかね?
PrintScreen をとって拡大してよく見ると、表示されるべきアイコンが少し滲んでしまっているように見えます。。。。たしかに16色ではなく256色になるんですが。

256色にはなるけど、タスクバーの太さはウィンドウのタイトルバーの太さに連動してるので、その関係でアイコンも正確な16×16px にならないからでしょうか? でもそれなら XP もおなじなわけで……



 urlmon.dll
    (%systemroot%\system32\)
  
   String Table
\126 〜 \129
IEのセキュリティ等の情報・警告・問い合わせのダイアログ上の文字列が格納されています。


   Icon
\116, \118, \119
順にIEのセキュリティ等の情報・警告・問い合わせのダイアログ上のアイコンです。
これが urlmon.dll の Dialog に反映されます。



 shimgvw.dll
    (%systemroot%\system32\)
  
   Bitmap
2000
imgview.htt で表示されるフォルダ(My Pictures など) の、画像プレビューコントロールのビットマップです

\103, \104, \105
順に通常時、マウスを乗せたとき、マスク です。

わたしのへたくそなサンプルbmpファイル。
\103 …… 
\104 …… 
\105 …… 



 mshtml.dll
    (%systemroot%\system32\)
  
   Bitmap
XP/2000
\2030, \2031
IEで、画像が読み込まれるまで/読み込めなかったとき表示されるこれ   です。 14×16×8bit 。

わたしのへたくそなサンプルbmpファイル。
\2030 …… 
\2031 …… 

   Icon
\2661
IEの、タスクバー上やALt+Tabで表示されるタスク切り換えスイッチのアイコンです。



 Control Panel
    (%systemroot%\system32\*.cpl)
  
コントロールパネルに関しては、一部を除いてそれぞれのcplファイルのリソースをいじります。

   appwiz.cpl
 アプリケーションの追加と削除
\1500(1〜6)
本体のアイコンです。
\1504(12〜17)
フォルダオプションのアイコン。

   hdwwiz.cpl
 ハードウェアの追加と削除
\100(1〜6)
本体のアイコンです。

   inetcpl.cpl
 インターネットオプションのアイコンリソースがたくさん入っています。
\1313(46〜47)
\4480(38〜39)
\4481(40〜41)
インターネットのセキュリティと、IE のステータスバーに表示されるアイコンです。
順に、インターネットゾーン、信頼済みゾーン、制限つきゾーンのアイコン。

   main.cpl
 ここに含まれているマウス、キーボードなどのアイコンは、レジストリからは変えられません。
\100(1〜6)
マウス
\200(7〜13)
キーボード
\400(20〜25)
フォント
\500(26〜31)
管理ツール

   mmsys.cpl
 サウンドとマルチメディア
\3004(1,2)
本体のアイコン(か、もしかしたら\4363の方かも?)

   sysdm.cpl
 システムのプロパティ
Bitmap
\1
「全般」の表示されるモニタのビットマップ。RLE圧縮されている。同じサイズで合わせるのは難しい。しかし、少しサイズが変わっても今のところ不都合無し。
Icon
\1(1〜6)
  本体のアイコン。
\2(7)
  ユーザープロファイルのアイコン。
\3(8)
  ハードウェアのプロファイルのアイコン。
\7(11)
  詳細タブのパフォーマンスのアイコン。
\8(12)
  詳細タブの環境変数のアイコン。
\9(13)
  詳細タブの起動/回復のアイコン。
なお、ネットワークIDタブのマイコンピュータのアイコンは、netid.dllにあると思われます。
ハードウェアのウィザードのアイコンは、「ハードウェアの追加と削除」のアイコンが使われます。


その他のdesk.cpl, joy.cplなども同様にして変更できます。
タスク、ネットワークとダイヤルアップ接続、ユーザーとパスワード、プリンタは、レジストリから変更できます。 それぞれの名前で検索をかけてください。





未整理のネタ

	netshell.dll
		Icon
			\190 〜 \193
			タスクバーに表示されるネットワークの通信状態を示すアイコン。

↑topに戻る