Прочитать комментарий к файлу
Некоторые файлы имеют вкладку "Сводка" в своих свойствах. Эта вкладка содержит информацию, такую как заголовок, автор, комментарии. Есть ли способ в 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.