プロが教える店舗&オフィスのセキュリティ対策術

現在、VisualStudio6(SP5)でプログラムを作成しています。
デバッグ用とリリース用のexeに使用するアイコンを2つ用意し、デバッグ用exeとリリース用exeでデスクトップ等に表示されるアイコンの絵を変えたいのですが、なかなか思うようにいきません。
最悪はプロジェクトを2つ用意してやろうかな?とも思っているのですが、できれば1つのプロジェクトで実現したいのです。

どなたか実現方法をご存知であればご教示お願いします。


私が実施した内容は以下です。
結果はIDR_RELEASEのアイコンが使われています。
(1)IDR_MAINFRAMEを削除して、新しいアイコン
・IDR_DEBUG
・IDR_RELEASE
を作成しました。
(2)Resource.hで、
#ifdef _DEBUG
IDR_DEBUG 140
IDR_RELEASE 141
#else
IDR_RELEASE 140
IDR_DEBUG 141
#endif
と変更しました。
IDR_MAINFRAMEを削除した場合は最もID番号が小さいリソースアイコンが採用されると聞いたので、試しにやってみました。(ID番号が小さいほうのアイコンが使われることは確認しました。)
ID番号は自動でつけられた2つの番号を順番を、プリプロセッサの定義で切り替えるようにやってみました。

A 回答 (1件)

おそらく質問文の方法できちんと切り替えられていると思います。

しかしWindowsにはIconをキャッシュする機能が備わっているがためにアイコンが切り替えられていないように見えるのではないでしょうか?

方法的にはリソース(.rc)ファイルを書き換えて
IDR_MAINFRAMEの定義に対してifdef _DEBUGを使って2つのアイコンを切り替える方がスマートかもしれません。
この方法で作ってリソースハッカーなどでどちらのアイコンが使われているかをリソースから調べてはどうでしょうか?(質問文の方法でもアイコンキャッシュを消せば切替が反映すると思います。自信はないですが)
    • good
    • 0
この回答へのお礼

で・できました!!
.rcファイルに#ifdefでアイコンを切り替える方法でうまくいきました。

大変助かりました。ありがとうございました!!

お礼日時:2005/03/09 02:33

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