On windows there are two executables in the jre to run java applications: java and javaw. The main differenc is that java is a console application while javaw isn't, it is usually used to execute gui applications. If you click a jar file in windows then usually javaw is started because the java installer associates jar files with the "javaw -jar %1" command where %1 is the clicked jar file.
Running a jar file with console:
java -jar jarfile
without console:
javaw -jar jarfile
Detecting the location of the java or javaw programs can be tricky, probably one crossplatform way is looking for the JAVA_HOME env var but it isn't necessarily set. On the other hand a machine can have several versions of the jre installed, most java development IDEs ask you to select one of them for your project. I don't know how to detect all of them and this can be platform specific, see google if you are interested about this...
If your launcher program is also a java application then you can find out the directory of the jre by looking at the environment variables of your running launcher application. For example:
String jre_dir = System.getProperty("java.home");
Then you can run the console version of the java program from this jre folder to execute the selected jar file (with the "jre_dir/bin/java -jar your_jar" command).