サンプラスです。よろしくお願いします。
今、ファイルのプロパティ表示で出てくる「概要タブ」について
サンプル実装しています。
イメージファイルの概要タブに表示されている項目の取得と、値の
変更はできるようになりました。
今度は、同じくイメージファイル(TIFでいいです)
1.すでにあるカラム名(コメントとか作成者)を任意に変更できるか?
2.カラムを自分の好きな名前で追加できるのか?
を調査していますが、糸口が見えていません。
そもそもできるのかという点で質問させていただきます。
また、できるのであれば、ざっくりとして手順(API名付き)をご教授願います。
ちなみに、概要タブの取得・変更は以下の関数で実現できました。
取得:ReadMultiple
変更:WriteMultiple
※質問に関係ないかもしれませんが、とりあえず。。。
開発環境
OS:Win2003R2サーバ
VS2005 VC++プロジェクト
以上です。
質問の仕方が悪いのかなぁ?
やった事がある人がいないとかそういう理由でもレスは付かない事が有りますよ。
やった事がある人がこの記事に気がつかなかったとかもあるかも。
掲示板はうまく答えが得られればラッキー程度に考えた方がいいです。
メーカーのサポートと違って確実に答えが得られるものではないです。
で、質問の回答にはなってませんが、
VC++プロジェクトでは、不足だと思います。
これだと一つに絞り込めませんし。
C++/CLIとC++は別物ですし、MFCの利用の有無なんかでも話は変わってきますし。
> 今、ファイルのプロパティ表示で出てくる「概要タブ」について
エクスプローラでファイルを右クリックしたときのプロパティの事でしょうか?
> 1.すでにあるカラム名(コメントとか作成者)を任意に変更できるか?
> 2.カラムを自分の好きな名前で追加できるのか?
プロパティの値はファイルが保持しているでしょうが、項目(上記で言えばカラム名)は
そのファイルを処理するプログラムそのものが保持していると思われます。
(エクスプローラで処理しているのは全般だけで、それ以外のタブは各ファイルタイプに
関連付けられたプログラムが処理している。そうではなくエクスプローラで全て処理して
いるとすると、エクスプローラは世の中にある全てのファイルタイプのプロパティを知っ
ている必要がある。)
従って、プロパティの項目を変更出来たとしても、自分の環境だけで、他の環境ではその
変更の影響を受けない(つまり今までと同じに見える)のではないかと思われます。
# 上記は全て私の想像ですので、間違いがあればご指摘下さい。
PATIOさん、ありがとうございます。
→MFCのDialogベースで作成していることを追記します。
しかし、C++/CLIで.NETの関数を使って出来るならそれでもいいという考えです。
愛飢え男さん、ありがとうございます。
→そこを参考にして、既存のファイルのプロパティの情報を変更できるように
まりました。
しかし、新しいプロパティの追加が知りたいわけです。
maruさん、ありがとうございます。
→確かに他の環境では変更の影響を受けないですね!
OFFICEのようなカスタムタブを使うほうでも考えねばと思いました。
よろしくお願いします。
今、IPropertyStorageインターフェースを見たんだけど、ReadPropertyNames、
WritePropertyNamesというメソッドがあるみたい。
これを使えば、名前は変更出来るのかな?
そうだとすると、名前もファイルに保存されているんだろうか?
# 詳細は英語を読むのがかったるいのでパス。
返事が遅くなってすみません。maruさん。
ReadPropertyNames/WritePropertyNamesを見てみよと思います。
英語は頑張ります。
VISTA環境だとIPropertyStoreというので実現できそうな感じ
がみえましたが、XPや2000で実現したいので、調査対象外と
しました。
よろしくお願いします。