I want to execute a program in memory on Windows. I do not want to write the file to disk. I just want to pass in a byte array (which is the program I want to execute) as a parameter.
I am not skilled enough to write the native code to do this. Again, this should be Windows native.
The program I want to execute in memory is not a Java program. It is an executable (.exe)! The executable is meant to be read and run IN MEMORY, not through Runtime.getRuntime().exec("example.exe");
解决方案
I can't comment yet, otherwise I would. You should be able to find some useful information here, where people are trying to solve the same problem using C++. Pray tell, are you trying to write a program that is cross platform, or Windows only? Your use of the ".exe" indicates windows only.
You should theoretically be able to make this work by using Windows API calls, as long as you aren't trying to make this cross platform.