I'd say that your options are limited here, because you are dependent on Windows starting the process. Java, being cross-platform, probably doesn't have the ability to hook into Windows in the way you want.
Straying outside the realms of pure Java, you could create a ramdisk and write the EXE to the Ramdisk, or perhaps bridge across to .NET, as described in this answerthis answer (and question links inside that answer).