So I open this xml in Launch4j but the process name is still javaw.exe
<?xml version="1.0" encoding="UTF-8"?>
<launch4jConfig>
<dontWrapJar>false</dontWrapJar>
<headerType>gui</headerType>
<jar>C:\Users\Nick\workspace\snake.jar</jar>
<outfile>C:\Users\Nick\workspace\snake_game.exe</outfile>
<errTitle></errTitle>
<cmdLine></cmdLine>
<chdir>.</chdir>
<priority>normal</priority>
<customProcName>true</customProcName>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl></supportUrl>
<stayAlive>false</stayAlive>
<restartOnCrash>false</restartOnCrash>
<manifest></manifest>
<icon></icon>
<jre>
<path></path>
<bundledJre64Bit>false</bundledJre64Bit>
<bundledJreAsFallback>false</bundledJreAsFallback>
<minVersion>1.6.0_1</minVersion>
<maxVersion>1.8.0_31</maxVersion>
<jdkPreference>preferJre</jdkPreference>
<runtimeBits>64/32</runtimeBits>
</jre>
</launch4jConfig>
Although customProcName is true it still doesn't name the process of my program snake_game.exe
Unfortunately Launch4j no longer supports setting custom process names. This feature was dropped because it could not be implemented without requiring administrator permissions on Windows after Windows introduced UAC in Windows 7.
Here's the applicable bug filed in 2011 that was closed as "rejected" for this reason.