exeファイルのアイコンをソースで切り替えるには?

解決


GIGA  2006-09-01 09:35:30  No: 62878

C++、非MFC、.NET2003で開発していますが、exeファイルに使われるアイコンをソース(プリプロセス)上で変更することは可能でしょうか?
試しに以下のようにしたのですが、これだとウィンドウの左上に小さく表示されるアイコンが変わるだけで、exeファイルに使われるアイコンは変わりませんでした。

#ifdef ICON_1
wc.hIcon=LoadIcon( (HINSTANCE)hInst, MAKEINTATOM(IDI_ICON1) );
#else
wc.hIcon=LoadIcon( (HINSTANCE)hInst, MAKEINTATOM(IDI_ICON2) );
#endif


YuO  2006-09-01 10:57:14  No: 62879

リソースの条件コンパイルを利用します。

まず,対象となる全てのアイコンリソースのプロパティにあるCondition欄に,条件文字列を書き込みます。
# それぞれ異なるようにしておくこと。
次に,プロジェクトのプロパティ/構成プロパティ/リソース/全般/プリプロセッサの定義に,使いたいリソースのConditionの文字列を追加します。
あとは,リソースIDを同じものにして値を1にでもしておけば,条件によって切り替えることが出来ます。


GIGA  2006-09-03 12:20:14  No: 62880

すみません、試す時間が取れなくて返答が遅れました。

で、実際にやってみたのですが、他の部分は全部出来たものの、
>値を1にでもしておけば
の部分が分かりませんでした。リソースIDの定義を1とかにするのでしょうか?その場合リソースエディタ上ではそういう部分が見つからなかったのですが、resource.hを直接書き換えるのでしょうか?

お手数おかけしますが、ご返答よろしくお願いします。


YuO  2006-09-04 03:43:18  No: 62881

対象リソースのプロパティの,ID欄に
IDI_APP=1
のように入力すれば,変更できます。
# [編集]-[リソース シンボル]で変更ボタンを押すと書いてあります。


GIGA  2006-09-05 07:11:34  No: 62882

そのとおりにやってみましたが、なんか駄目でしたorz
途中「使用中で変更できない」とか「2重に使われている」とか色々メッセージが出つつも、ごちゃごちゃやっているうちに一応上記のとおりに出来たはずなのですが、やっぱり途中でどこか壊れたのでしょうね…

今までリソースエディタをほとんど使ったことが無いのと、なんか手取り足取り教えてもらうのも申し訳ないですので、とりあえずここで解決にさせて頂きます。

緊急を要する内容では無かったので、時間が取れたらリソースエディタの勉強をしてみたいと思います。

解決方法があるのが分かっただけでも助かりました。どうも有難うございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加