c++ program der starter et java program

Tags:    c++

Hej alle på udvikleren!

Jeg har lavet et java program som jeg godt kunne tænke mig at starte på Windows via en exe fil.

Jeg har prøvet med en .bat fil, men problemet med dette er at kommandolinjen (cmd) bliver ved med at vises i baggrunden indtil jeg afslutter java programmet.

Jeg har lavet en stump c kode som ser således ud:

#include <iostream

int main(){
system("java Main");
return 0
}

Har også prøvet med:

int main(){
system("start java Main");
return 0
}

Dette virker fint nok hvis man starter eksempelvis notepad med overstående stump kode, men prøver man at starte et java program giver det samme resultat som med en .bat fil, nemlig at kommandolinjen starter og forbliver åben indtil mit java program afsluttes (givet vis fordi java optræder som et kommandolinje program i Windows).

Er der nogen måde at lave en .exe fil som starter et java program uden at starte kommandolinjen i baggrunden, eller i det mindste bare skjule den for brugeren?

På forhånd tak, og god weekend!



6 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Du burde kunne få det til at virke med en .bat fil.
Kommandoen:
start java Main
I en .bat fil burde gøre det.
Alternativt kan du lave en filtype association.

Er du sikker på at det ikke er en følge af måden du oversætter programmet?
Du skal muligvis fortælle java compileren at den skal lave en GUI app (jeg går ud fra at det er en GUI app?)



Du burde kunne få det til at virke med en .bat fil.
Kommandoen:
start java Main
I en .bat fil burde gøre det.
Alternativt kan du lave en filtype association.

Er du sikker på at det ikke er en følge af måden du oversætter programmet?
Du skal muligvis fortælle java compileren at den skal lave en GUI app (jeg går ud fra at det er en GUI app?)



Jeg har prøvet med start java Main uden held, det virker som hvis jeg ikke skrev "start" i kommandoen. Altså uden indvirken.

Jeg vil undersøge hvordan jeg fortæller java compileren at det er en GUI app den skal starte.
Jeg ved ikke om det har noget med måden hvorpå jeg oversætter programmet at gøre. Jeg oversætter det på Linux hvor jeg arbejder normalt, men det skulle vel ikke have noget at sige nu det er Java?



Start java programmet med 'javaw' i stedet for 'java' kommandoen.

Du kan også lave en jar fil og sætte Main-Class i manifest filen. Så kan man dobbeltklikke på jar filen for at eksekvere den.
Se mere her: http://java.sun.com/j2se/1.4.2/docs/guide/jar/jar.html



Start java programmet med 'javaw' i stedet for 'java' kommandoen.

Du kan også lave en jar fil og sætte Main-Class i manifest filen. Så kan man dobbeltklikke på jar filen for at eksekvere den.
Se mere her: http://java.sun.com/j2se/1.4.2/docs/guide/jar/jar.html



javaw løste mit problem, mange tak for hjælpen!



Hvis du smider et svar Robert, så får du de 50 point ;)



Hvis du smider et svar Robert, så får du de 50 point ;)


Behold du dem bare. Jeg får dem aldrig brugt alligevel :-)



t