none
リソース(アイコン)の使用方法 RRS feed

  • 質問

  • プログラム中でアイコンを使用するために
    csc のコンパイルオプション /res:xxx.resources でアイコンを指定してます。


    さらに、エクスプローラで .exe を見た時のアイコン用に /win32icon:xxx.ico
    を指定しています。

    これで機能的には問題なく動作するのですが、同じアイコンが2つ .exe
    の中に組み込まれてしまいます。

    これを1つで満足させるにはどうすれば良いのでしょうか?
    以上、よろしくお願い致します。

    2008年10月13日 1:54

回答

  • リソーススクリプトを記述し、rc.exe でコンパイル(rc.exe が無い場合は Microsoft Windows SDK に付属していますのでそれをインストールしてください)。

    それを /win32ico の代わりに /win32res で追加します。たしかスクリプト先頭のアイコンがアプリケーションのアイコンになったはず。

    コードから使う場合、.NET のリソースとしては使えないので、Win32 API の LoadIcon/LoadImage 関数を使用して HICON を取得し、Icon.FromHandle メソッドで Icon オブジェクトを取得します。

    2008年10月13日 2:30

すべての返信

  • リソーススクリプトを記述し、rc.exe でコンパイル(rc.exe が無い場合は Microsoft Windows SDK に付属していますのでそれをインストールしてください)。

    それを /win32ico の代わりに /win32res で追加します。たしかスクリプト先頭のアイコンがアプリケーションのアイコンになったはず。

    コードから使う場合、.NET のリソースとしては使えないので、Win32 API の LoadIcon/LoadImage 関数を使用して HICON を取得し、Icon.FromHandle メソッドで Icon オブジェクトを取得します。

    2008年10月13日 2:30
  • ありがとうございます。

    今コンパイルできる環境にないのですが、なるほどそれでうまくいきそうですね。

    明日、朝一でやってみます。

    2008年10月13日 9:41
  • こんにちは。中川俊輔 です。

     

    Hongliangさん、回答ありがとうございます。

     

    Show Gさん、フォーラムのご利用ありがとうございます。

    有用な情報と思われたため、Hongliangさんの回答へ回答済みチェックをつけさせていただきました。

     

    今後もフォーラムをよろしくお願いします。

    それでは!

    2008年10月23日 9:34