как создать собственное расширение файла в С#?
-
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.
Я бы посоветовал вам продолжать использовать формат, который читается из других программ.Ваши пользователи будут благодарны, если захотят сделать со своими заметками что-то, что не поддерживается вашей программой.