2919


アイコンが`SHELL32.dll`内にあることを調べ、Visual
Studioによりdllファイルが開けることを確認したのですが、このままWindowsのアイコンを変更することは可能ですか？
`SHELL32.dll`内の画像を差し替えたいのですがなにか参考になる文献はありますか？ 例：マイコンピュータ


CC BY-SA 3.0
2014-12-31T17:43:08.357
2869
2015-01-01T16:05:23.970
2015-01-01T13:46:03.250
question
windows
Windowsのアイコン画像の変更/差し替え


SHELL32.dllはWindowsの重要ファイルであり、基本的に書き換えをすることはできません。
やりようによっては可能ですが、問題となる可能性もありますのでやめておきましょう。


CC BY-SA 3.0
2014-12-31T22:19:44.337
2876
2014-12-31T22:19:44.337
4069
2869
answer


Resource Hackerなどのリソース編集ツールを使用すれば、書き換えできますが、  
恐らくOSのシステムファイルの保護が働くため、不可能です。  
それすら停止するという方法もありますが、セキュリティ上、とても危険です。


CC BY-SA 3.0
2015-01-01T02:10:10.930
2880
2015-01-01T02:10:10.930
2207
2869
answer


  * OSの機能やツールを利用した置き換え

OSのバージョンにも依るのですが、今手持ちは8.1なので8.1で話をすれば、

> ゴミ箱  
>  マイコンピュータ

これはWindowsの標準機能で変更できます。

デスクトップを右クリック ＞ 個人設定

![画像の説明をここに入力](https://i.stack.imgur.com/9g6pF.jpg)

デスクトップアイコンの変更

![画像の説明をここに入力](https://i.stack.imgur.com/RavC0.jpg)

で、アイコンを変えればアイコンは変更されます  
（Explorerは一旦全部閉じて開き直す必要がありますが、Explorer上のアイコンも変わります。）

XP時代も画面のプロパティ ＞ デスクトップタブ ＞ デスクトップのカスタマイズから変更できたと思うので、Vistaも7もできる可能性は高いですね。  
これで不足がなければこちらでどうでしょうか。

> スタートボタン

これはたしかアイコンじゃないです。  
Windows 7だとexplorer.exeのビットマップリソースだった気がします。

仕掛けまでは調べていませんが、Windows7ならスタートボタンの画像を変更するツールはあったと思います。  
その他 Windows 8.1では[Classic
Shell](http://www.classicshell.net/)を私は使っていますが、これにスタートボタンのアイコンを変更する機能がありますね。カスタムイメージも指定可能みたいです。

> シャットダウン

これはわからないです。XPの頃はLunaの画像を変更するツールを見かけたことがあるような…。

* * *

  * exeやdllの書き換え

一般論として、WindowsのExeやDllのファイル構造は決まっているので、画像などのリソースがうめこまれている場所(.rsrcテーブル)を書き換えれば変更はできます。

<http://ja.wikipedia.org/wiki/Portable_Executable>

読みだすだけならWinAPIで LoadLibraryExあたりを使えばできたかと思います。

編集にあたってはすでに上がっているResoure
Hackerなどのツールも存在します。しかしプログラム側がどういう読み込み方をしているのかは不明ですのでリソースを単純に差し替えただけでは動作しない場合もあります。（たとえばゲームなどは改造防止のためにいろいろチェックが盛り込まれている場合がありますね）

Shell32.dllなど（Win8だとImageRes.dllっぽいですが）システム関連のモジュールを書き換える場合、  
そもそもOSがロード中で書き換えられない、OSが退避していたモジュールに書き戻される、Windows
Updateのタイミングで書き換わる、ウィルススキャンが改竄と捉えるなどの可能性があります。  
他の回答でも上がっている通り、できるだけ避けた方がいいでしょう。  
ためしに書き換える場合は二度と起動しなくなることも覚悟しておいてください。


CC BY-SA 3.0
2015-01-01T16:05:23.970
2919
2015-01-01T16:05:23.970
728
2869
answer