- PR -

Win32リソースについて

投稿者投稿内容
笊頭刹那
ベテラン
会議室デビュー日: 2005/10/17
投稿数: 55
お住まい・勤務地: オーストラリア
投稿日時: 2005-11-18 15:07
えっといくつか質問があります。
コード:
fixed (ICONDIR* ptr = &_iconDir) 
{
	Marshal.Copy(buffer, 0, (IntPtr)ptr, sizeof(ICONDIR));
}
ICONDIRENTRY entry = new ICONDIRENTRY();
ICONDIRENTRY* ptr = &entry;
{
	Marshal.Copy(buffer, 0, (IntPtr)ptr, sizeof(ICONDIRENTRY));
}


っとありますがなぜ下に{}が???特に意味はないのですか?

上のfixedはIconFileがクラスだから必要で下のものは…ICONDIRENTRYはstructだからfixedのためにつけた(の後消した)とは思えないですし…まぁ意味ないのならいいのですが。


あと、流れを見ているとアイコンファイルの構造もリソースの構造も僕の解釈であっていま…すよね?これだけ確認したかったです


にしても Marshal.Copyでbyteから構造体に渡せるんですね、勉強になりました。m(_ _)m

_________________
seed of weed
自作したソフトの公開および刹那が難しい・めんどくさい・覚えられないと思った特殊なC#Tipsを公開しています。
笊頭刹那
ベテラン
会議室デビュー日: 2005/10/17
投稿数: 55
お住まい・勤務地: オーストラリア
投稿日時: 2005-11-18 15:15
ひとつ質問忘れました。

RT_GROUP_ICONが通常のリソースアイコンならRT_ICONっていったいなんなんでしょうか?汗

RT_GROUP_ICON ハードウェア独立のアイコンリソース
RT_ICON ハードウェア依存のアイコンリソース

さっぱり分かりませんorz

たくさん質問してしまってすいません…orz
_________________
seed of weed
自作したソフトの公開および刹那が難しい・めんどくさい・覚えられないと思った特殊なC#Tipsを公開しています。
笊頭刹那
ベテラン
会議室デビュー日: 2005/10/17
投稿数: 55
お住まい・勤務地: オーストラリア
投稿日時: 2005-11-18 18:55
Tdnr_Symさんに教えていただいたことを元に、手軽にマニュフェストファイルとWin32のアイコンリソースをEXEに追加するプログラマー用ソフト作成いたしました。

もしよろしければごらんください。
http://seedofweed.rental.allinoneserver.net/notebook/netconverter.html

いろいろと有難うございました!
_________________
seed of weed
自作したソフトの公開および刹那が難しい・めんどくさい・覚えられないと思った特殊なC#Tipsを公開しています。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2005-11-18 19:15
笊頭刹那さん、こんばんは。

最初に断っておきますが…
私は神じゃありません、一介のC++プログラマです(*^_^*)
あと残念ですが結婚もできません、既婚者なので(>_<)

引用:

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

えっといくつか質問があります。
コード:
fixed (ICONDIR* ptr = &_iconDir) 
{
	Marshal.Copy(buffer, 0, (IntPtr)ptr, sizeof(ICONDIR));
}
ICONDIRENTRY entry = new ICONDIRENTRY();
ICONDIRENTRY* ptr = &entry;
{
	Marshal.Copy(buffer, 0, (IntPtr)ptr, sizeof(ICONDIRENTRY));
}


っとありますがなぜ下に{}が???特に意味はないのですか?

上のfixedはIconFileがクラスだから必要で下のものは…ICONDIRENTRYはstructだからfixedのためにつけた(の後消した)とは思えないですし…まぁ意味ないのならいいのですが。



それは、最初fixedキーワードを使って書いていたんですが、なぜかコンパイラさんに怒られてしまったので、
fixedキーワードを消した痕です。とくに意味はないです。
# C#をよく知らずに使ってるので、意味不明な点はご容赦ください(~_~;)

引用:

あと、流れを見ているとアイコンファイルの構造もリソースの構造も僕の解釈であっていま…すよね?これだけ確認したかったです



ええ、だいたい解釈はあっていると思います。

【アイコンファイル】
1.アイコンディレクトリ(ICONDIR + ICONDIRENTRY * イメージデータの枚数)
2.イメージデータ1(ICONIMAG = BITMAPINFOHEADER + RGBQUAD + マスク情報)
3.イメージデータ2(ICONIMAG = BITMAPINFOHEADER + RGBQUAD + マスク情報)
4. …イメージデータが続く

【RT_GROUP_ICONリソース】
 アイコンディレクトリ(ICONDIR + GRPICONDIRENTRY * イメージデータの枚数)

【RT_ICONリソース】
 イメージデータ(ICONIMAG = BITMAPINFOHEADER + RGBQUAD + マスク情報)

引用:

RT_GROUP_ICONが通常のリソースアイコンならRT_ICONっていったいなんなんでしょうか?汗

RT_GROUP_ICON ハードウェア独立のアイコンリソース
RT_ICON ハードウェア依存のアイコンリソース



ハードウェア独立とか依存とか関係ないようですね。内容は上記のとおりです。

引用:

笊頭刹那さんの書き込み (2005-11-18 18:55) より:

手軽にマニュフェストファイルとWin32のアイコンリソースをEXEに追加するプログラマー用ソフト作成いたしました。
もしよろしければごらんください。
http://seedofweed.rental.allinoneserver.net/notebook/netconverter.html



あ、笊頭刹那さんのサイトに私の名前が(*^_^*)
ゆっくりと拝見させていただきます。
笊頭刹那
ベテラン
会議室デビュー日: 2005/10/17
投稿数: 55
お住まい・勤務地: オーストラリア
投稿日時: 2005-11-18 19:44
いえ、「神のように優しいお方だ」という意味です(笑。
そうですか、結婚指輪買ってしまったのですが(マテ。いえ冗談です(笑。

C#は詳しくないと言うことを忘れてました(というかあまりのすばらしさに忘れさせられましたorz)了解です、特に意味はなかったのですね。

よかった、これでアイコン構造の解釈があっていなかったら自分で何もしたことにならなかったのでorz あまりにもわからなすぎて半教えて君状態であったことをお詫び申し上げます(汗。

C#ではRT_ICONでは追加できないところを見るとC#のとき、そこはまったく考えなくてもよさそうですね。

それでは、本当に長い間いろいろとお世話になりました。ありがとうございました!
_________________
seed of weed
自作したソフトの公開および刹那が難しい・めんどくさい・覚えられないと思った特殊なC#Tipsを公開しています。

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