お世話になっております。
先日よりここで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)
C++にて、ファイルのサムネイルを設定するには?
Re:C++にて、ファイルのサムネイルを設定するには?
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で検索すると
ビンゴなページを発見できるはずです。
頑張って調べてみてください。
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++にて、ファイルのサムネイルを設定するには?
返信が遅れ大変申し訳ないです。
アドバイスをいただいた通り、調べているところです。
調べ方が分からず滞っていたので。。。
理解しづらそうな所にたどり着いてしまいましたが、
もう少し自分で調べて、いろいろ試してみようと思います。
また行き詰ったら、質問させていただきます。
次の質問と時間が空くかもしれないので、ここは解決済みとさせていただきます。
ありがとうございました。
アドバイスをいただいた通り、調べているところです。
調べ方が分からず滞っていたので。。。
理解しづらそうな所にたどり着いてしまいましたが、
もう少し自分で調べて、いろいろ試してみようと思います。
また行き詰ったら、質問させていただきます。
次の質問と時間が空くかもしれないので、ここは解決済みとさせていただきます。
ありがとうございました。