- PR -

Win32リソースについて

投稿者投稿内容
笊頭刹那
ベテラン
会議室デビュー日: 2005/10/17
投稿数: 55
お住まい・勤務地: オーストラリア
投稿日時: 2005-11-16 15:24
.NETではWin32リソースを使えませんよね。困るんです。
一応使う方法がいくつかありますが、使いやすいとはいえませんし…自動化したいのですが。


  • VS.netでコンパイル後に開いてから追加する方法
    はっきりいって無茶苦茶手間です、正規版をコンパイルするたびにこんなことしたくありません(汗。
  • コンパイラとコマンドラインを利用して追加する方法
    これがよく分からないんですが、ソースコードからコンパイルしなくてはいけないのですよね?VS.netでコンパイルしたものに追加する(またはVS.netのコンパイルと同時に追加する)方法がいいのですが…
  • Resource Hackerを利用する
    バッチファイルも使えるらしいので(まだ調べてません)この方法が一番自動化に近いと思いますが、なるべくほかのソフト(他人が作ったソフト)に頼りたくないんですよね…(汗。


以上の理由からもぅ自分で作ってしまおうといろいろと調べてみたのですが一向に参考になるものが出てきません。

リソースの仕組みさえもよく分かっていない状況です。
リンカを利用して実行可能ファイルに埋め込むようなイメージですかね?それならば実行可能後のファイルに追加できると(そうでなくては世の中に出回ってる多くのソフトが矛盾しているので)

C言語 C#と調べてみたのですが出てくるのは取得方法いや、追加したいんですが(汗。

C言語は基本的に使えないのでできればC#のサンプルがいいのですが、まずありえないですよね、とりあえず参考になるような資料をご存知の方がいらっしゃったらご教授お願いいたします、知的好奇心も含めて方法を知りたいのです。僕のレベルで実現可・不可は別として…

ここまで調べても無いところを見るとAPIなど使わないで実行可能ファイルをバイナリで開いて解析して追加するような気がします…それは僕のレベルではちょっと難しいですね(汗。
_________________
seed of weed
自作したソフトの公開および刹那が難しい・めんどくさい・覚えられないと思った特殊なC#Tipsを公開しています。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2005-11-16 17:47
こんばんは。

ちょっと笊頭刹那さんのやりたい事が、いまいちよく理解できなかったのですが…

引用:

笊頭刹那さんの書き込み (2005-11-16 15:24) より:

リソースの仕組みさえもよく分かっていない状況です。
リンカを利用して実行可能ファイルに埋め込むようなイメージですかね?それならば実行可能後のファイルに追加できると(そうでなくては世の中に出回ってる多くのソフトが矛盾しているので)

C言語 C#と調べてみたのですが出てくるのは取得方法いや、追加したいんですが(汗。

C言語は基本的に使えないのでできればC#のサンプルがいいのですが、まずありえないですよね、とりあえず参考になるような資料をご存知の方がいらっしゃったらご教授お願いいたします、知的好奇心も含めて方法を知りたいのです。僕のレベルで実現可・不可は別として…

ここまで調べても無いところを見るとAPIなど使わないで実行可能ファイルをバイナリで開いて解析して追加するような気がします…それは僕のレベルではちょっと難しいですね(汗。



リソースを追加したいのであれば、下記のAPIを使えばできるんじゃないでしょうか?
(NT系 Windowsのみ限定ですけれども)

BeginUpdateResource
EndUpdateResource
UpdateResource

C#のサンプルがなくてスイマセン。
#ご希望があれば作ってもいいですけれども…

どうでしょう?
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2005-11-16 18:22
こんばんは。追記します。

検索してみたら、笊頭刹那さんのお知りになりたい(と思われる)
サイトがヒットしましたので、書き込んでおきます。

引用:

笊頭刹那さんの書き込み (2005-11-16 15:24) より:

C言語は基本的に使えないのでできればC#のサンプルがいいのですが



C#でのサンプルです。
#笊頭刹那さんが具体的にどんなリソースを追加したいのか分かりませんが
#このサンプルでは、マニフェストファイルを実行可能ファイルのリソースとして追加します。

Manifest File Injection


引用:

笊頭刹那さんの書き込み (2005-11-16 15:24) より:

ここまで調べても無いところを見るとAPIなど使わないで実行可能ファイルをバイナリで開いて解析して追加するような気がします…それは僕のレベルではちょっと難しいですね(汗。



バイナリレベルで解析するなら、次のサンプルが参考になると思います。
#UpdateResource APIのWin9x系の実装コードです。ソースはC++ですけれども

Updating Resources on Win9x


以上、ご参考までに。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-11-16 19:34
 Win32 リソース ってのが、何を指しているのかよく解らないのですが。。。
検索してみたり

Visual C# 言語の概念
/win32res (Win32 リソース ファイルのインポート)


リソース エディタでのリソースの表示と編集

コンパイル時のリソースのインクルード


どう?
___________________________________________________________________
□ written by Jitta on 2005/11/16
□ Microsoft MVP for Visual Developer ASP/ASP.NET Oct.2005-Sept.2006
_________________
笊頭刹那
ベテラン
会議室デビュー日: 2005/10/17
投稿数: 55
お住まい・勤務地: オーストラリア
投稿日時: 2005-11-16 23:00
>みなさん
こんなにあるなんて…検索のレベルが低いのかな僕(汗涙。

Win32 resource add insert リソース 追加 icon...などなどで検索してみたんですが、というかThe Code ProjectもCodeGurnも検索したのですが(汗笑涙。やっぱりAPIでありましたね、そりゃそうだ(爆。

よろしければどのように検索かけたか(検索していただいたのであれば)教えていただけないでしょうか、今後の参考にしたいと思います。


やりたいことは教えていただいたサンプルを見ながらわりと簡単にできそうです(さらっとしかみてませんが)

リソースについてはまったく知識を持っていなかったので意味不明な文章になっていましたが結局は出来上がった実行可能ファイルにアイコンなどのリソースを追加したかっただけです、イメージで言うとsystem32.dllなんかが近いでしょうか?外部からアイコンを利用する手段として、.netリソースじゃ見れないんですよね(?)

ほか、まにゅふぇすとファイルを自動で加えたり、そういう自分用のソフトを作りたかったんです。

いろいろとありがとうございました。

(なんかまた意味不明な文章に…プログラムの前に日本語かな汗)
_________________
seed of weed
自作したソフトの公開および刹那が難しい・めんどくさい・覚えられないと思った特殊なC#Tipsを公開しています。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2005-11-17 00:00
こんばんは。

引用:

笊頭刹那さんの書き込み (2005-11-16 23:00) より:

出来上がった実行可能ファイルにアイコンなどのリソースを追加したかっただけです、イメージで言うとsystem32.dllなんかが近いでしょうか?外部からアイコンを利用する手段として、.netリソースじゃ見れないんですよね(?)
ほか、まにゅふぇすとファイルを自動で加えたり、そういう自分用のソフトを作りたかったんです。



なるほど。
なぜ.NET Frameworkリソースではなく、Win32リソースなんだろうと思っていたんですが、納得しました。

引用:

笊頭刹那さんの書き込み (2005-11-16 23:00) より:

よろしければどのように検索かけたか(検索していただいたのであれば)教えていただけないでしょうか、今後の参考にしたいと思います。



「それは企業秘密です」っというのは冗談ですが
私も検索のコツについて考えたことないんですよね〜(~_~;)
ただ、笊頭刹那さんの検索のキーワードを見て思ったんですが、
私なら、もっと具体的なキーワードをいれますけれども。
たとえば「UpdateResource C#」なんて風に。

「検索のコツ」については、私なんかよりもっと詳しい方が、
掲示板におられるようですので、そちらにお任せいたします。
#たとえば、Jittaさんの署名欄(一行コメントかな)↑とか

笊頭刹那
ベテラン
会議室デビュー日: 2005/10/17
投稿数: 55
お住まい・勤務地: オーストラリア
投稿日時: 2005-11-17 05:42
>Tdnr_Sym
そのUpdateResourceを知らなかったから調べられませんでしたorz

リソース 追加 resource insert add

などで調べて普通なら UpdateResource ってことばどこかで聞いてもいいような気がしますが、この言葉さえ見つけてしまえばそれで検索かけるのは常識ですしね(汗。
_________________
seed of weed
自作したソフトの公開および刹那が難しい・めんどくさい・覚えられないと思った特殊なC#Tipsを公開しています。
笊頭刹那
ベテラン
会議室デビュー日: 2005/10/17
投稿数: 55
お住まい・勤務地: オーストラリア
投稿日時: 2005-11-17 05:43
また さん つけ忘れ…(汗。
ほんとすいませんでした(_ _(--;(_ _(--; ペコペコ


_________________
seed of weed
自作したソフトの公開および刹那が難しい・めんどくさい・覚えられないと思った特殊なC#Tipsを公開しています。

スキルアップ/キャリアアップ(JOB@IT)