先日、ここで
「WinXPにて ファイルのプロパティ→概要を書き換えるには?」
http://www.play21.jp/board/formz.cgi?ac ... &rln=36675
という質問をさせていただいたものです。
VC++を導入し、教えていただいたサンプルをもとに、ファイルのプロパティを書き換えるコードを
書くことにしました。ほとんどサンプルのままなのですが、うまくできないことがあって困っています。
テキストファイルの場合、ファイルのプロパティ→概要タブには、以下のような項目があります。
タイトル、表題、カテゴリ、キーワード、コメント、ソース、作成者、改訂番号
の8つです。
添付したプログラムでは、propidを0x00000002から一つずつ増やし、そこにString 1、String 2と
順に書きこんでいく処理を行っています。実験のためString32までやっています。
しかし、このプログラムを実行したあとにファイルのプロパティを確認すると、
タイトル String 1
表題 String 2
カテゴリ
キーワード String 4
コメント String 5
ソース
作成者 String 3
改訂番号 String 8
となっており、カテゴリとソースのところには何も書き込まれていません。
propidの値が間違っているのでしょうか。
カテゴリ、ソースにも目的の文字列を書き込むには、どうすればよいのでしょうか。
実行環境はWinXP Pro SP3、MS VC++でビルド、です。
ほかにも必要な情報がありましたらお教えください。
よろしくお願いいたします。
ファイルのプロパティ→概要→カテゴリ・ソースの書き換えができない
Re:ファイルのプロパティ→概要→カテゴリ・ソースの書き換えができない
Platform SDK に入っている PropIdl.h に、各プロパティ名のID (PIDSI_*) が載っていますが、
(432行目辺り)
カテゴリとソースは別のところで設定する必要があるようです。
(453行目辺りに PIDDSI_CATEGORY という名前で ID が振られています)
(432行目辺り)
カテゴリとソースは別のところで設定する必要があるようです。
(453行目辺りに PIDDSI_CATEGORY という名前で ID が振られています)
Re:ファイルのプロパティ→概要→カテゴリ・ソースの書き換えができない
迅速なご回答ありがとうございます。
お返事が遅れ申し訳ないです。
確認しました。なるほど。
カテゴリはDocSummaryInformation Property、
ソースはFMTID_MediaFileSummaryInfo - Propertyになるんですね。
今はまだ、あまりC++に深入りしたくないので、SummaryInformation Property Set
で対応できる部分だけで何とかしたいと思います。
勉強になりました。ありがとうございました。
お返事が遅れ申し訳ないです。
確認しました。なるほど。
カテゴリはDocSummaryInformation Property、
ソースはFMTID_MediaFileSummaryInfo - Propertyになるんですね。
今はまだ、あまりC++に深入りしたくないので、SummaryInformation Property Set
で対応できる部分だけで何とかしたいと思います。
勉強になりました。ありがとうございました。