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:
codice:
#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;
}
Ma per qualche motivo folle, il programma termina dicendo che
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.