C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

EXEファイルに複数のアイコンを埋め込むには /じる (19/11/28(Thu) 22:52) #93237
Re[1]: EXEファイルに複数のアイコンを埋め込むには /774RR (19/11/29(Fri) 09:28) #93240
  └ Re[2]: EXEファイルに複数のアイコンを埋め込むには /Hongliang (19/11/29(Fri) 09:40) #93241
    └ Re[3]: EXEファイルに複数のアイコンを埋め込むには /じる (19/11/29(Fri) 17:56) #93247
      └ Re[4]: EXEファイルに複数のアイコンを埋め込むには /Azulean (19/11/29(Fri) 21:38) #93250
        └ Re[5]: EXEファイルに複数のアイコンを埋め込むには /じる (19/11/30(Sat) 12:41) #93251
          └ Re[6]: EXEファイルに複数のアイコンを埋め込むには /じる (19/12/01(Sun) 14:20) #93267
            └ Re[7]: EXEファイルに複数のアイコンを埋め込むには /Hongliang (19/12/02(Mon) 16:31) #93284
              └ Re[8]: EXEファイルに複数のアイコンを埋め込むには /じる (19/12/02(Mon) 20:41) #93285
                └ Re[9]: EXEファイルに複数のアイコンを埋め込むには /魔界の仮面弁士 (19/12/03(Tue) 08:47) #93286
                  └ Re[10]: EXEファイルに複数のアイコンを埋め込むには /じる (19/12/03(Tue) 22:05) #93302


親記事 / ▼[ 93240 ]
■93237 / 親階層)  EXEファイルに複数のアイコンを埋め込むには
□投稿者/ じる (6回)-(2019/11/28(Thu) 22:52:00)

分類:[.NET 全般] 

VB2015で作成したプログラムで
プログラム自体のアイコンと
拡張子の関連付けしたファイル用にアイコンの
両方を、EXEファイルに埋め込みたいと考えています。



EXEファイルに複数のアイコンを埋め込む方法は
https://dobon.net/vb/dotnet/programing/embedwin32resource.html
このページに記述されているのですが、


1.Visual Studioのメニューから「ファイル」-「新規作成」-「ファイル」を選択する。
2.下図のようなダイアログが表示されるので、「ネイティブリソーステンプレート」を選択し、「開く」ボタンを押す。


というところまで進むと、

https://121ware.com/qasearch/1007/doc/answer/image/020/020781/020781a.png

というダイアログが表示され、
このページに書かれた手順を先に進めることができません。

どうすれば良いですか?

また、これはWindowsXP時代に古い記事ですが、
新しい方法ならもっと簡単に埋め込むことはできないでしょうか?


[ □ Tree ] 返信 編集キー/

▲[ 93237 ] / ▼[ 93241 ]
■93240 / 1階層)  Re[1]: EXEファイルに複数のアイコンを埋め込むには
□投稿者/ 774RR (754回)-(2019/11/29(Fri) 09:28:33)
VisualStudio 2019 で VB FormApp の新規プロジェクトつくってみたけど
ソリューションエクスプローラー上で追加→新しい項目→アイコンファイルというメニューが選べたっす。
(それ以上のテストはしてない)

VS2015 で同じことができるかは未調査、やってみる価値はあるかも
[ 親 93237 / □ Tree ] 返信 編集キー/

▲[ 93240 ] / ▼[ 93247 ]
■93241 / 2階層)  Re[2]: EXEファイルに複数のアイコンを埋め込むには
□投稿者/ Hongliang (924回)-(2019/11/29(Fri) 09:40:01)
Express版のVisual Studioではありませんか? これにはリソースエディタ機能は含まれていないので、Visual Studioを使っての作業はできません。
ほかの手段を使って(提示ページであればrc.exeなど)リソースファイルを作成する必要があります。
[ 親 93237 / □ Tree ] 返信 編集キー/

▲[ 93241 ] / ▼[ 93250 ]
■93247 / 3階層)  Re[3]: EXEファイルに複数のアイコンを埋め込むには
□投稿者/ じる (7回)-(2019/11/29(Fri) 17:56:13)
VS Community 2015です。


私の環境では

ソリューションエクスプローラー上で追加→新しい項目→

でアイコンファイルは見つかりませんでした。

D&Dで読み込んで
リソースファイルとして登録する方法だと
アイコンして使うことはできないのでしょうか・・・?





[ 親 93237 / □ Tree ] 返信 編集キー/

▲[ 93247 ] / ▼[ 93251 ]
■93250 / 4階層)  Re[4]: EXEファイルに複数のアイコンを埋め込むには
□投稿者/ Azulean (1107回)-(2019/11/29(Fri) 21:38:05)
2019/11/29(Fri) 21:38:29 編集(投稿者)

No93247 (じる さん) に返信
> VS Community 2015です。

たとえば、C++ 系の言語をインストールしていないとか。
リソースエディタは C# や VB.NET の機能ではないので、C++ 系のコンポーネントが入っていない場合は使えないのかもしれません。

// 2015 から標準で C++ は入らない
[ 親 93237 / □ Tree ] 返信 編集キー/

▲[ 93250 ] / ▼[ 93267 ]
■93251 / 5階層)  Re[5]: EXEファイルに複数のアイコンを埋め込むには
□投稿者/ じる (8回)-(2019/11/30(Sat) 12:41:26)
ありがとうございます。

仰る通り、C++をインストールすると

ネイティブリソーステンプレート
を開けるようになりました。

まず、774RRさんが仰るように、アイコンファイルも試してみましたが、
こちらはアイコンの編集を行うだけで、リソースファイルとして埋め込む機能ではないように思います。


https://dobon.net/vb/dotnet/programing/embedwin32resource.html
http://hanatyan.sakura.ne.jp/vb2005/vb2013icon01.htm

それでこれらのページに従って手順を進めていったのですが、
ソリューションエクスプローラーで右クリックして
プロジェクトのアンロードをしようとしたのですが、
なぜか私の環境では、右クリックメニューにアンロードが表示されませんでした。

そのため、VSを終了した状態でvbprojファイルをメモ帳で開いて、
  <PropertyGroup>
    <Win32Resource>ResTempl1.res</Win32Resource>
  </PropertyGroup>

を指定の場所に書き入れました。

それでVSを再起動してビルドしようとしたのですが、

1>vbc : error BC2023: /win32icon と /win32resource を両方指定することはできません。
1>vbc : error BC37216: 競合するオプションが指定されました: Win32 リソース ファイル、Win32 マニフェスト。
========== すべてリビルド: 0 正常終了、1 失敗、0 スキップ ==========

というエラーが出て、実行することができません。

どのようにすれば良いですか?

[ 親 93237 / □ Tree ] 返信 編集キー/

▲[ 93251 ] / ▼[ 93284 ]
■93267 / 6階層)  Re[6]: EXEファイルに複数のアイコンを埋め込むには
□投稿者/ じる (9回)-(2019/12/01(Sun) 14:20:57)
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/misc/bc2023

このページに
エラーの詳細が書かれてあるのですが
どうやってwin32icon のオプションを無効化するのか分かりません。

アプリケーションのアイコンの設定を規定のアイコンに変えて見ましたが
やはりうまくいきませんでした。

どうすれば良いですか?

[ 親 93237 / □ Tree ] 返信 編集キー/

▲[ 93267 ] / ▼[ 93285 ]
■93284 / 7階層)  Re[7]: EXEファイルに複数のアイコンを埋め込むには
□投稿者/ Hongliang (928回)-(2019/12/02(Mon) 16:31:34)
2019/12/02(Mon) 16:36:24 編集(投稿者)

/Win32Iconは、プロジェクトのプロパティのアプリケーションタブでアイコンを(既定のアイコン)に設定すれば消去できるかと思います。
もし駄目であれば、.vbproj内の<ApplicationIcon>...</ApplicationIcon>を削除してみてください。
/Win32Resourceを使う場合、Explorer等で表示されるアプリケーションのアイコンは、.resの中でIDが一番小さいアイコン(だったかな? とりあえず、.resの中のアイコンのどれか)になります。

マニフェストについては、.vbproj内の<ApplicationManifest>...</ApplicationManifest>を削除すればとりあえずビルドはできるようになるかと思います。
ちゃんとやろうとするならapp.manifestの内容を.resの中に取り込まないといけませんが…。
[ 親 93237 / □ Tree ] 返信 編集キー/

▲[ 93284 ] / ▼[ 93286 ]
■93285 / 8階層)  Re[8]: EXEファイルに複数のアイコンを埋め込むには
□投稿者/ じる (10回)-(2019/12/02(Mon) 20:41:59)
ありがとうございます。

昨日やった時は、
  <PropertyGroup>
    <Win32Resource>ResTempl1.res</Win32Resource>
  </PropertyGroup>
を入れたとしてもビルドはできませんが、VSの起動だけはできたのですが、
いまやると以下のエラーが出て起動すらできません
どうすれば良いでしょうか?

: error : 要素 <Project> の下の要素 <#text> は認識されていません。 xxxx.vbproj


[ 親 93237 / □ Tree ] 返信 編集キー/

▲[ 93285 ] / ▼[ 93302 ]
■93286 / 9階層)  Re[9]: EXEファイルに複数のアイコンを埋め込むには
□投稿者/ 魔界の仮面弁士 (2501回)-(2019/12/03(Tue) 08:47:50)
No93285 (じる さん) に返信
> : error : 要素 <Project> の下の要素 <#text> は認識されていません。 xxxx.vbproj

<Project> 要素の下に、空白文字(タブ、改行、スペース)以外のテキストが
誤って混入しているようです。バックアップしておいた .vbproj と比較してみてください。
[ 親 93237 / □ Tree ] 返信 編集キー/

▲[ 93286 ] / 返信無し
■93302 / 10階層)  Re[10]: EXEファイルに複数のアイコンを埋め込むには
□投稿者/ じる (11回)-(2019/12/03(Tue) 22:05:00)
Hongliangさん
魔界の仮面弁士 さん


うまく表示できました。
どうもありがとうございます。

> ちゃんとやろうとするならapp.manifestの内容を.resの中に取り込まないといけませんが…。

これが少し気になるのですが、
app.manifestの内容を.resの中に取り込まなかった場合、どうなりますか?

[ 親 93237 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -