一部のファイルには、[プロパティ] に [概要] タブがあります。このタブには、タイトル、作成者、コメントなどの情報が含まれています。C# でファイルのコメントを読み取る方法はありますか。jpg などの画像ファイルからコメントのみを読み取る必要があります。
2612 次
2 に答える
6
コメントやその他の回答は、検索するのに適した場所です。ここにあなたを助けるための完全なコードがあります。shell32.dll
最初に名前空間を参照していることを確認してくださいShell32
。私はLINQPadでこれを行ったので、ちょっと違います。
テスト ファイルとフォルダーを選択します。
var folder = "...";
var file = "...";
シェル オブジェクトを取得します。
// For our LINQPad Users
// var shellType = Type.GetTypeFromProgID("Shell.Application");
// dynamic app = Activator.CreateInstance(shellType);
Shell32.Shell app = new Shell32.Shell();
フォルダーとファイル オブジェクトを取得します。
var folderObj = app.NameSpace(folder);
var filesObj = folderObj.Items();
可能なヘッダーを見つけます。
var headers = new Dictionary<string, int>();
for( int i = 0; i < short.MaxValue; i++ )
{
string header = folderObj.GetDetailsOf(null, i);
if (String.IsNullOrEmpty(header))
break;
if (!headers.ContainsKey(header)) headers.Add(header, i);
}
必要に応じてこれらを印刷できます。これが、そのディレクトリで使用可能なすべてのヘッダーです。例としてヘッダー「コメント」を使用してみましょう。
var testFile = filesObj.Item(file);
Console.WriteLine("{0} -> {1}", testFile.Name, folderObj.GetDetailsOf(testFile, headers["Comments"]));
必要に応じて変更してください。
于 2012-05-02T07:26:17.817 に答える
1
シェル (shell32.dll) は、この問題を解決するのに役立ちます。最近、MSDN でこのすばらしい記事を見つけました ( http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/94430444-283b-4a0e-9ca5-7375c8420622 )。
ID3 タグの読み取りに関するcodeprojectもあります。
于 2012-05-02T06:20:32.930 に答える