Pregunta

Necesito ayuda sobre cómo crear una extensión de archivo personalizado en mi aplicación de C #. He creado una aplicación básica de gestión de notas. En este momento estoy ahorrando mis notas como .rtf (note1.rtf). Quiero ser capaz de crear una extensión de archivo que sólo entiende mi aplicación (como, note.not, tal vez)

¿Fue útil?

Solución

Las extensiones de archivo son una elección arbitraria de sus formatos, y es sólo realmente depende de su aplicación de registro de una determinada extensión de archivo como un archivo de un tipo determinado en Windows, después de la instalación.

El subir con su propio formato de archivo por lo general significa que guarde ese formato utilizando un formato que sólo su aplicación puede analizar. Puede ser tanto en formato de texto o binario, e incluso puede utilizar el formato XML o lo que sea, el punto es que su aplicación debe ser capaz de analizar fácilmente.

Otros consejos

Como punto de despliegue, debe tener en cuenta que ClickOnce es compatible con las extensiones de archivo (siempre y cuando no está en modo "sólo en línea"). Esto hace que sea muy fácil de configurar el sistema para que reconozca las nuevas extensiones de archivo.

Puede encontrar esto en las propiedades del proyecto -> Publicar -> Opciones -> Asociaciones de archivos en VS2008. Si usted no tiene VS2008 que también puedes hacerlo manualmente, pero no es divertido.

Hay dos posibles interpretaciones de su pregunta:

¿Cuál debe ser el formato de archivo de mis documentos?

Usted esta ahorrando actualmente sus notas en el formato RTF. No importa extensión del nombre de qué archivo elige guardar como, cualquier aplicación que entiende el formato RTF será capaz de abrir sus notas, siempre y cuando el usuario sabe que está en RTF y señala que la aplicación de ese archivo.

Si desea guardar sus documentos en un formato de archivo personalizado, para que otras aplicaciones no pueden leerlos. que necesita para llegar a código que lleva la secuencia RTF producido por el control Rich Edit (supongo que eso es lo que se utiliza como editor en su aplicación) y serializa en una corriente binaria utilizando su propio formato.

Yo personalmente no consideraría esto vale la pena el esfuerzo ...

¿Qué es la extensión de archivo de mis documentos

En este momento está guardando los documentos en formato RTF con la extensión de nombre de archivo .rtf. Otras aplicaciones están asociadas con esa extensión de archivo, por lo que al hacer doble clic en dicho archivo en el Explorador de Windows se abre dicha aplicación en lugar de su.

Si usted quiere ser capaz de hacer doble clic en el archivo en el Explorador de Windows y abra la aplicación, es necesario cambiar la extensión de nombre de archivo que está utilizando y crear la asociación adecuada para esa extensión.

Las asociaciones de extensión de archivo se definen por medio de anotaciones en el registro. Puede crear estos por equipo (en HKLM \ Software \ Classes) o por usuario (en HKCU \ Software \ Classes), aunque por equipo es el caso más común. Para más detalles sobre las entradas del registro reales y enlaces a la documentación de MSDN y muestras, revisar mi respuesta a esta SO pregunta en Vista asociaciones documento icono .

Creo que es una cuestión de crear los valores de registro adecuados,

de CodeProject artículo

Puede guardar archivos con cualquier extensión que desee, sólo hay que poner en el nombre de archivo al guardar el archivo.

Tengo la sensación de que su problema es "¿Cómo puedo guardar el archivo en algo que no sea RTF?". Vas a tener que inventar su propio formato, pero que en realidad no quiere eso. Todavía se puede guardar en un archivo RTF mynote.not llamado.

Te aconsejaría que seguir usando el formato que es legible desde otros programas. Los usuarios van a estar agradecidos vez que quieren hacer algo con sus notas, que no es compatible con el programa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top