2011-12-14 8 views
5

El usuario desea iniciar la aplicación Java GUI desde Windows, con cierta cantidad de parámetros JVM adicionales.
Por ejemplo:Cómo iniciar el programa Java GUI convenientemente para el usuario final

javaw -Djava.util.logging.config.file=logging.properties -jar MyGUI.jar 

Si añado la línea anterior al archivo por lotes, el usuario puede hacer doble clic en el nombre de archivo por lotes.
Y es genial. Pero hay un efecto secundario molesto: el archivo por lotes abre la ventana cmd antes de iniciar la GUI.

¿Existe un sencilla manera de iniciar la aplicación Java GUI haciendo doble clic en el archivo por lotes (o algún otro archivo que se adapte a las necesidades anteriores) sin necesidad de abrir la ventana cmd ?

+0

Use el acceso directo de Windows – chance

+0

@chance Pobre consejos. No has entendido mi pregunta. – MockerTim

+0

¿No iniciará su GUI sin ventana de cmd si hace doble clic en el acceso directo a javaw? ¿O es imposible crear shorcut para los clientes? – chance

Respuesta

6

veo un número de maneras:

  • Utilice un lanzador como generada por Launch4J (gracias a CodeBrickie por la punta) o Install4J/Exe4J. Launch4J le permite modificar los parámetros creando un archivo .l4j.ini con el mismo nombre que el exe. En el caso de Exe4J, se pueden especificar parámetros adicionales en un archivo .vmoptions que coloca junto al exe generado.
  • Cree un acceso directo a javaw.exe, asígnele el icono que desee, establezca el campo "Comenzar en" en el directorio de la aplicación y especifique sus parámetros en javaw en el campo Destino.
  • Cree un script VB que inicie javaw.Si el tiempo de ejecución de VBS está configurado para usar wscript, no aparecerá ninguna ventana de consola.
  • Si utiliza Java Web Start, es posible que desee dejar que el usuario modifique el archivo JNLP como se especifica en Java Webstart with parameters.
+0

Votación. El acceso directo a javaw.exe es realmente simple. – MockerTim

3

Trate

start javaw -Djava.util.logging.config.file=logging.properties -jar MyGUI.jar 

también puede utilizar scripting:

VBS:

Const HIDDEN_WINDOW = 12 

strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set objStartup = objWMIService.Get("Win32_ProcessStartup") 

Set objConfig = objStartup.SpawnInstance_ 
objConfig.ShowWindow = HIDDEN_WINDOW 
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process") 
errReturn = objProcess.Create("Notepad.exe", null, objConfig, intProcessID) 

JScript:

var WindowStyle_Hidden = 0 
var objShell = WScript.CreateObject("WScript.Shell") 
var result = objShell.Run("cmd.exe /c abc.bat", WindowStyle_Hidden) 

Por último, existen utilidades de propósito general y Puede usar para ocultar ventanas, como CMDOW y Hidden Start ($20). Yo tampoco lo he usado, ya que start hace lo mismo.

+0

¿Qué son esas utilidades? – MockerTim

+0

Ejemplos añadidos. –

3

El usuario quiere iniciar la aplicación Java GUI ..

La mejor experiencia de usuario para el usuario final se ofrecerá con el lanzamiento de la aplicación. usando Java Web Start. JWS puede instalar accesos directos de escritorio y elementos de menú para iniciar la aplicación.

..de de Windows ..

JWS también funciona en OS X & * nix.

Cuestiones relacionadas