2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C++で作ったexeにアイコンを設定する

Posted at

はじめに

作ったゲームのアプリアイコンを自作の物に変える方法をメモがてら残します。

目指す形はこんな感じ
エクスプローラ上でのアイコン

ウィンドウの左上のアイコン

タブでのアイコン

環境

・VisualStudio2022:17.11.2
・GIMP:2.10.34  .ico形式で出力できるソフトであればなんでもいいです。
・C++Ver20

アイコンを作る

GIMPを立ち上げてファイルの新しい画像をクリック。
スクリーンショット 2024-09-19 143944.png

幅と高さを24ピクセルにしてOKをクリック。
スクリーンショット 2024-09-19 143951.png

ブラシのサイズを小さくしてアイコンを作っていきます。

完成したらファイルの名前を"icon.ico"、場所を指定してエクスポートをクリック。
ファイルの形式の選択から Mincrosoft Windowsアイコン を選択したら拡張子が自動で".ico"になります。

プルダウンメニューから8bpp, 1bitアルファ、256色パレット選択。
プルダウンメニューの左に作ったアイコンが表示されると思います。
圧縮にチェックは入れずにエクスポート。

GIMPでの作業は終了!

作ったアイコンを組み込んでいく

プロジェクトフォルダにicon.icoをコピーします。
そしたらプロジェクトを開いて
追加→リソース

インポートをクリックして作ったアイコンを開く

すると<プロジェクト名>.rcファイルとresource.hが自動で作られます。
.rcを右クリックしてコードを表示。
色々出てくるけど"はい"でOK。

スクロールしていくとこんなのがあると思います。
インポートした"icon.ico"がいますね。

/////////////////////////////////////////////////////////////////////////////
//
// Icon
//

// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON1               ICON                    "icon.ico"

#endif    // 日本語 (日本) resources
/////////////////////////////////////////////////////////////////////////////

resource.h
開くとこんなのができてます。

//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ で生成されたインクルード ファイル。
// 24_04_24_.rc で使用
//
#define IDI_ICON1                       101

IDI_ICON1っていうのが.rcと共通していることが大事だと思われる。

main.cpp
この部分を

wcex.hIcon = nullptr;

こうします

#include "resource.h"
wcex.hIcon = (HICON)LoadImage(wcex.hInstance, MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON), 0);

ビルド!
そうするとアイコンが設定されていると思います。

実行して確認すると

成功!!
お疲れさまでした。

2
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?