2012-03-04 38 views

Respuesta

3

Si despliega la aplicación. utilizando Java Web Start, se puede declarar un interés en los tipos de archivo en el archivo de inicio. Ver el demo. of the file services, que ..

..prompts al usuario asociar la extensión de archivo .zzz (simplemente un tipo de archivo poco probable a chocar con las asociaciones de archivos existentes) de contenido de tipo text/sleepytime. ..

Cuando el usuario hace doble clic en un archivo .zzz, debe abrirse en la aplicación. En realidad, la palabra 'indicaciones' no es toda la historia. Si inicia la versión en caja de arena, se le pedirá que asocie el tipo de archivo. La versión de confianza no solicita.

Para agregar más control de usuario al proceso, consulte el IntegrationService que se introdujo en 1.6.0_18 (aún no tengo una demostración de eso). Puede ejecutarlo al inicio, después de consultar con el usuario.

2

esto tendría que hacerse durante la instalación. ¿Cómo planeas dejar que tu usuario instale tu aplicación?

En esta etapa, debes darte cuenta de que acabas de hacer las cosas mucho más complicadas. registrar extensiones de archivos significa entrometerse en el registro. ¿Qué sucede si el usuario ya no quiere su aplicación? o mueve el archivo que inicia su aplicación?

tendrás que elegir un creador de instalación. aquí hay una pregunta sobre eso: https://stackoverflow.com/questions/3767/what-is-the-best-choice-for-building-windows-installers

y luego tendrá que aprender el lenguaje del creador del instalador. Así es como lo que estás pidiendo se hace en nsis. recuerde que el script se ocupa de preguntas como "si el usuario desinstala mi aplicación, y no cambié las asociaciones de archivos en el momento de la instalación, ¿debo eliminar estas asociaciones de archivos en la desinstalación?" así que es un poco largo. aquí está de todos modos: http://nsis.sourceforge.net/File_Association

tal vez se puede hacer de una manera más fácil en otro creador de instalador.

Sin embargo, en este ejemplo, le da a la función de registro de nsis el comando de inicio para su aplicación, y luego agrega% 1 a ella en el comando de inicio de la asociación de archivos de Windows. por lo que debe darle el comando de inicio

javaw -cp installpath\yourcode.jar package.name.MainClassName 

y entonces las cosas deberían funcionar. esto requerirá algo de experimentación, por supuesto, y deberá estar seguro de cómo iniciar su aplicación desde la línea de comando.

buena suerte!

+0

Muchas gracias por su respuesta. Una cosa más es molestar: ¿cómo saber qué archivo lanzó exactamente mi aplicación? ¿Cómo puedo leer datos sobre eso en Java? – dario111cro

+0

Oh, parece que el archivo se envía a la aplicación en args. args [0] es "-open", mientras que args [1] contiene la ruta al archivo que inició la aplicación. Gracias por su ayuda :) – dario111cro

+0

@ dario111cro de nada :) ¿Qué tipo de distribución eligió? ¿Fuiste con nsis? – davogotland

Cuestiones relacionadas