ページ 11

C++にて、ファイルのサムネイルを設定するには?

Posted: 2009年7月15日(水) 23:51
by なすがに
お世話になっております。

先日よりここでIPropertyStorageに関する質問をさせていただいております。
http://www.play21.jp/board/formz.cgi?ac ... &rln=36675

VC++で IPropertyStorage を使い、ファイルのプロパティの概要にある項目を
書き換えるプログラムを作っています。

IPropertyStorageで使用されているPropIdl.hの中で、PIDSI_THUMBNAILという
定数を見つけました。ファイルのサムネイルを設定できるIDだと思うのですが、
使用方法が分かりません。タイトルや表題、作成者などは文字列を書き込めば
設定できると直感的に理解できるのですが、サムネイルの場合、何をどうやって
設定するのかがわかりません。画像ファイルのパスでしょうか、バイナリデータ
でしょうか。。。

グーグルで検索をしてみましたが、参考になりそうなページが思うように
見つかりませんでした。しかし、サムネイルを設定できるとすれば、
ぜひやってみたいと思っています。

使用方法やサンプルコードなど、ご教授いただければ幸いです。
よろしくお願いいたします。

(Windows XP SP3、VC++ 2008 EE)

Re:C++にて、ファイルのサムネイルを設定するには?

Posted: 2009年7月16日(木) 01:22
by Justy
 PIDSI_THUMBNAILが定義されているヘッダのところを見れば、タイプが書いてあるはずです。

 PIDSI_TITLEなら VT_LPSTR、PIDSI_EDITTIMEなら VT_FILETIMEとか。
(この値は Readを行ったあとの PROPVARIANT構造体の vt値にも書き込まれています)

 じゃぁ、VT_LPSTRは何かを再びヘッダを調べると、"null terminated string"という説明が、
見つかります。
 つまり、PIDSI_TITLEは NULL終端の文字列であることがわかります。

 これと同じ方法で PIDSI_THUMBNAILについて調べてみてください。

 あとはその VT_XXXXのタイプ定義と説明文で Googleで検索すると
ビンゴなページを発見できるはずです。


 頑張って調べてみてください。

Re:C++にて、ファイルのサムネイルを設定するには?

Posted: 2009年7月18日(土) 01:07
by なすがに
返信が遅れ大変申し訳ないです。
アドバイスをいただいた通り、調べているところです。

調べ方が分からず滞っていたので。。。

理解しづらそうな所にたどり着いてしまいましたが、
もう少し自分で調べて、いろいろ試してみようと思います。

また行き詰ったら、質問させていただきます。
次の質問と時間が空くかもしれないので、ここは解決済みとさせていただきます。

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