Ciao a tutti, sono 2 giorni che cerco su google una soluzione e non trovo niente di chiaro.
Il mio scopo è quello di creare un exe che faccia partire la mia applicazione java con il comando.codice:javaw -jar Programma.jar
- Non mi accontento di un semplice .bat perché voglio mettere l'icona del programma.
- Non voglio che si veda la console.
- Ho provato JSmooth, execJ, Java Launcher ma nessuno di questi funziona (strani errori di seg fault o array out of bounds)
Dopo mille ricerche sono giunto al seguente codice:
Ma per qualche motivo folle, il programma termina dicendo checodice:#include <windows.h> #include <stdlib.h> int main() { system("javaw -jar Programma.jar"); /** Queste 2 righe prendono la console e la nascondono */ HWND hwnd=FindWindow("ConsoleWindowClass",NULL); ShowWindow(hwnd,SW_HIDE); return 0; }
javaw non è riconosciuto come comando interno o esterno (stessa cosa con java, javaw.exe e java.exe)... Non vede le variabili d'ambiente!
Sono su Windows 7 (64bit) per intenderci (probabilmente su XP questo codice funzionava, ma ho bisogno della piena compatibiità).
Su google trovo moltissima gente che consiglia di provare con ShellExecute() o CreateProcess(), vi chiedo di avere il buon cuore di scrivermi il codice completo (e magari testato) perché queste funzioni hanno una documentazione obbrobbriosa con degli esempi puntualmente non funzionanti.