как создать собственное расширение файла в С#?

StackOverflow https://stackoverflow.com/questions/780319

  •  13-09-2019
  •  | 
  •  

Вопрос

Мне нужна помощь в том, как создать собственное расширение файла в моем приложении C#.Я создал базовое приложение для управления заметками.Сейчас я сохраняю свои заметки в формате .rtf (note1.rtf).Я хочу иметь возможность создавать расширение файла, которое понимает только мое приложение (например, note.not, возможно)

Это было полезно?

Решение

Расширения файлов — это произвольный выбор для ваших форматов, и он действительно зависит только от того, регистрирует ли ваше приложение определенное расширение файла как файл определенного типа в Windows после установки.

Создание собственного формата файла обычно означает, что вы сохраняете этот формат, используя формат, который может анализировать только ваше приложение.Он может быть в обычном текстовом или двоичном формате и даже может использовать XML или любой другой формат, главное, чтобы ваше приложение могло легко его анализировать.

Другие советы

В качестве точки развертывания следует отметить, что ClickOnce поддерживает расширения файлов (если он не находится в режиме «только онлайн»).Это упрощает настройку системы для распознавания новых расширений файлов.

Вы можете найти это в свойствах проекта -> Публикация -> Параметры -> Ассоциации файлов в VS2008.Если у вас нет VS2008, вы также можете сделай это вручную, но это не весело.

Есть две возможные интерпретации вашего вопроса:

Какой должен быть формат файлов моих документов?

В настоящее время вы сохраняете свои заметки в формате RTF.Независимо от того, какое расширение имени файла вы выберете для их сохранения, любое приложение, понимающее формат RTF, сможет открыть ваши заметки, если пользователь знает, что они в формате RTF, и указывает этому приложению на этот файл.

Если вы хотите сохранить свои документы в пользовательском формате файла, чтобы другие приложения не могли их прочитать.вам нужно придумать код, который принимает поток RTF, созданный элементом управления Rich Edit (я предполагаю, что это то, что вы используете в качестве редактора в своем приложении), и сериализует его в двоичный поток, используя ваш собственный формат.

Лично я бы не посчитал, что это того стоит...

Какое расширение имени файла у моих документов?

В настоящее время вы сохраняете свои документы в формате RTF с расширением имени файла .rtf.Другие приложения связаны с этим расширением файла, поэтому двойной щелчок по такому файлу в проводнике Windows открывает это приложение вместо вашего.

Если вы хотите иметь возможность дважды щелкнуть файл в проводнике Windows и открыть приложение, вам необходимо изменить используемое вами расширение имени файла И создать правильную ассоциацию для этого расширения.

Ассоциации расширений файлов определяются записями в реестре.Вы можете создать их для каждого компьютера (в HKLM\Software\Classes) или для каждого пользователя (в HKCU\Software\Classes), хотя наиболее распространенным случаем является создание для каждого компьютера.Для получения более подробной информации о реальных записях реестра и ссылках на документацию и примеры MSDN проверьте мой ответ на этот вопрос. ТАК вопрос об ассоциациях значков документов Vista.

Я думаю, что это вопрос создания правильных значений реестра,

или проверьте это статья codeproject

Вы можете сохранить файл с любым расширением, просто укажите его в имени файла при сохранении.

Я чувствую, что ваша проблема: «Как мне сохранить файл в формате, отличном от RTF?».Вам придется изобрести свой собственный формат, но на самом деле вы этого не хотите.Вы по-прежнему можете сохранить RTF в файл с именем mynote.not.

Я бы посоветовал вам продолжать использовать формат, который читается из других программ.Ваши пользователи будут благодарны, если захотят сделать со своими заметками что-то, что не поддерживается вашей программой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top