Прочитать комментарий к файлу

Некоторые файлы имеют вкладку "Сводка" в своих свойствах. Эта вкладка содержит информацию, такую ​​как заголовок, автор, комментарии. Есть ли способ в C# прочитать комментарии к файлу. Я должен читать только комментарии из файлов изображений, таких как JPG.

2 ответа

Комментарии и другие ответы являются хорошими местами для поиска. Вот полный код, чтобы помочь вам. Убедитесь, что вы ссылка shell32.dll первый и пространство имен Shell32, Я сделал это в LINQPad, так что это немного другое.

Выберите тестовый файл и папку:

var folder = "...";
var file = "...";

Получить объекты Shell:

// 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"]));

Изменить по необходимости!

Оболочка (shell32.dll) поможет вам решить эту проблему. Недавно я нашел эту замечательную статью в MSDN ( http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/94430444-283b-4a0e-9ca5-7375c8420622).

Существует также код проекта для чтения тегов ID3.

Другие вопросы по тегам