2012-05-06 6 views
5

He estado buscando una forma de que los usuarios configuren mi programa como predeterminado para abrir archivos por un tiempo y no hayan encontrado nada. Tengo un programa que se supone que es universal para Mac, Windows y Linux, así que no quiero usar un método que solo funcione con un sistema operativo. Entonces, ¿cómo puedo darles a los usuarios la posibilidad de configurar una aplicación Java como el abridor de archivos predeterminado? ¿Usaría la clase de escritorio?¿Tiene la capacidad de establecer la aplicación Java como abridor de archivos predeterminado?

Respuesta

0

No Java no es compatible con esto. Debería escribir una pequeña aplicación para cada sistema operativo que desee admitir en su idioma nativo (C++, objetivo c, etc.) que simplemente abriría su aplicación java cada vez que se abra. Luego puede configurar esa aplicación como el programa predeterminado.

0

se responde aquí en stackoverflow: Use a Java application as the Default Program for a particular file type?

Cita la respuesta:

archivos JAR normalmente no son ejecutables. Es decir, un archivo JAR no es una aplicación válida de Windows. No importa si la extensión JAR tiene una aplicación predeterminada asociada a ella, porque el "Verbo abierto" no se usa recursivamente en otras definiciones de "Abrir verbo".

En cambio,

  1. Crear un lote ("BAT") archivo (o pequeño envoltorio EXE) que llama java (o javaw, según el caso) y utilizar ese envoltorio ejecutable como el 'Abrir con' programa de . (Esto tendrá una ventana de consola intermedia molesta si usa un archivo de proceso por lotes). O bien,
  2. Modifique el registro para que el "Abrir verbo" para la extensión inicie el JAR a través de java (o javaw). Al final, cualquiera de las formas debería ser similar a: javaw -jar TheJarFile.jar "% 1%". (Tenga en cuenta que javaw es un ejecutable, mientras que TheJarFile.jar no es un ejecutable.)

Consulte java - el lanzador de aplicaciones Java para saber cómo usar java/javaw.

Ese es el caso de las ventanas. De forma similar, en Linux y Mac tendría que crear un contenedor de aplicaciones nativo que abra un archivo y pase la ruta del archivo a su java jar como parámetro y ejecute el archivo jar.

Cuestiones relacionadas