Записать расширенные свойства в файл MKV с C # - PullRequest
0 голосов
/ 01 марта 2019

Мне не удается записать заголовок расширенных свойств в файл mkv.

Я использую Windows API Code Pack 1.1 .


C #

Источник: https://stackoverflow.com/a/37987288/6806643

using Microsoft.WindowsAPICodePack.Shell;
using Microsoft.WindowsAPICodePack.Shell.PropertySystem;

// Get File
var file = ShellFile.FromFilePath(@"C:\Path\To\File.mkv");

// Write Extended Properties
ShellPropertyWriter propertyWriter = file.Properties.GetPropertyWriter();
propertyWriter.WriteProperty(SystemProperties.System.Title, new string[] { "New Title" });
propertyWriter.Close();

Ошибка:

"Невозможно получить доступное для записи хранилище свойств для этого свойства."


Вручную с Windows 10

Я попытался изменить свойства mkv с помощью:

  1. Щелкните правой кнопкой мышиФайл
  2. Свойства
  3. Вкладка «Сведения»
  4. Удалить ссылку «Свойства и личная информация»
  5. Продолжить с правами администратора

Ошибка:

"Не все личные свойства были очищены.
Windows не удалось удалить свойства из выбранных файлов."

"Вам необходимо разрешение для выполнения этого действия"


Я знаю, что такие программы, как MKVToolNix, могут смоделировать копию нового файла и изменить свойства, но я пытаюсь редактировать существующий файл, используя функции Windows с Cтолько #.

Я нашел эту тему на форумах Microsoft, объясняющую похожую проблему:

https://answers.microsoft.com/en-us/windows/forum/all/you-need-permission-to-perform-this-action-when/b8e0e58f-577a-4db7-a302-dde58bbb57c8?page=1

...