NTFSドライブのファイルをエクスプローラの右クリックでプロパティを
選択すると「概要」タブがあり、タイトル・表題・作成者・カテゴリ・
キーワード・コメントの各項目が表示され自由に記入保存できます。
これをVB.NET(VB2005)により読取り・編集するにはどうすればよいので
しょうか?
Microsoft が配布している Dsofile.dll を参照に追加すれば簡単に扱えます。
ありがとうございます。早速調べてみました。
まだ実際の動作は確認していないのですが、以下のような制限があるようです。
http://www.microsoft.com/japan/technet/community/columns/scripts/sg0305.mspx#E2B
----------引用
Dsofile の欠点は、Microsoft Office 文書の概要情報フィールドにしか
書き込めないということです。いわゆるテキスト ファイル (.txtファイ
ル) にタイトルを付けようとすると失敗します。人生の悲しい現実の 1
つです。
-----------ここまで
実際にそうなのでしょうか?
目的としてはすべてのファイルに対して書き込みたいので、この制限があるのならばほかの方法を探す必要があるのですが・・・
場所は、例えば、
MORE <ファイル名:^ESummaryInformation
^EはCTRL+E
にあります。
構造は同じです。
副ストリームですか。NTFS限定になりますね。
VB上では、CTRL+EはChr(5)でよいでしょう。
http://www.microsoft.com/japan/msdn/windows/windows2000/ntfs5.aspx
http://yaplog.jp/orator/archive/57
IShellFolder*のParseDisplayNameで、ファイル名からItemIDList*を取得し、
IShellFolder*のBindToStorageで、IPropertySetStorage*を取得し、
IPropertySetStorage*のEnumで、IEnumSTATPROPSETSTG*を取得し、
IPropertySetStorage*のOpen/Createで、IPropertyStorage*を取得し、
IPropertyStorage*のWriteMultipleで、書き込む。
という手順で行ってみるとか。
ツイート | ![]() |