tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル256x256ピクセルのアイコンの取り出し
記事No14001
投稿日: 2009/09/02(Wed) 16:59
投稿者シス
icoファイルにはいろんなサイズのアイコンが含まれていると思いますが
ここから256x256ピクセルのアイコンがある時は、これだけを取り出したいです。

現在ReadFileで開いてICONDIRENTRY構造体等にデータを格納しているのですが
他の小さいサイズのデータは取得できているのですが、
256x256ピクセルのデータは取得ができていません。

256x256のアイコンはICONDIRENTRYでは取得できないのでしょうか?
わかりづらい説明で申し訳ありません。

256x256アイコンについて何か知ってらっしゃる方がいましたら、
教えて下さい。よろしくお願い致します

[ツリー表示へ]
タイトルRe: 256x256ピクセルのアイコンの取り出し
記事No14002
投稿日: 2009/09/02(Wed) 17:56
投稿者オショウ
> icoファイルにはいろんなサイズのアイコンが含まれていると思いますが
> ここから256x256ピクセルのアイコンがある時は、これだけを取り出したいです。

  マイクロソフトの仕様では・・・

アイコンのサイズ
Windows のアイコンには、 48 × 48、32 × 32、24 × 24、および 16 × 16 ピクセルの 4 つのサイズがあります。

  とあります。
  引用先:http://msdn.microsoft.com/ja-jp/library/ms997636.aspx

  なので、256×256は、アイコンではないはずなので、取れなかった
  のが正しいのでは?

以上。参考まで

[ツリー表示へ]
タイトルRe^2: 256x256ピクセルのアイコンの取り出し
記事No14003
投稿日: 2009/09/02(Wed) 19:32
投稿者魔界の仮面弁士
>   引用先:http://msdn.microsoft.com/ja-jp/library/ms997636.aspx
それは、XP 版のガイドですね。

> アイコンのサイズ
> Windows のアイコンには、 48 × 48、32 × 32、24 × 24、および 16 × 16 ピクセルの 4 つのサイズがあります。

それ以外のカスタムサイズも利用できます。
実際、Windows 7 や Vista では 256 ドットのアイコンも使用できます。
http://msdn.microsoft.com/ja-jp/library/aa511280.aspx

[ツリー表示へ]
タイトルRe^3: 256x256ピクセルのアイコンの取り出し
記事No14004
投稿日: 2009/09/02(Wed) 19:38
投稿者オショウ
> 実際、Windows 7 や Vista では 256 ドットのアイコンも使用できます。

  をを〜勉強になりました。

  と言うことは、シスさんの方法はXPまでの方法で、VISTA
  やWin7では対応していない・・・と言うことですネ?!

以上。

[ツリー表示へ]
タイトルRe: 256x256ピクセルのアイコンの取り出し
記事No14005
投稿日: 2009/09/02(Wed) 20:06
投稿者オショウ
> icoファイルにはいろんなサイズのアイコンが含まれていると思いますが
> ここから256x256ピクセルのアイコンがある時は、これだけを取り出したいです。

  昔作ったソフトの中にアイコン抽出しているの作ってました・・・
  で、VISTA以降の256ビットに対応するようにするには

  http://www.geocities.jp/asumaroyuumaro/program/tips/SHGetImageList.html

  ここの下の方読んで下さい。

  SHGetFileInfoで、SHIL_JUMBOを指定すれば、抽出できます。

以上。参考まで・・・

[ツリー表示へ]
タイトルRe^2: 256x256ピクセルのアイコンの取り出し
記事No14009
投稿日: 2009/09/04(Fri) 00:03
投稿者シス
お返事遅れました、
オショウ様、魔界の仮面弁士様 お返事ありがとうございます。

少しやってみましたがSHGetFileInfoにSHIL_JUMBO指定ではできませんでした
読んだ感じだとSHGetImageListにSHIL_JUMBOを指定となってますね
もう少し試してみます

いつもありがとうございます!

[ツリー表示へ]