在Java中从内存中执行可执行程序(.exe)

时间:2012-06-18 17:01:48

标签: java windows java-native-interface jna

我想在Windows上执行内存中的程序。我不想将文件写入磁盘。我只想传入一个字节数组(这是我想要执行的程序)作为参数。

我不熟练编写本机代码来执行此操作。同样,这应该是Windows原生的。

我想在内存中执行的程序不是Java程序。它是一个可执行文件(.exe)!可执行文件应在IN MEMORY中读取和运行,而不是通过 Runtime.getRuntime()。exec(“example.exe”);

1 个答案:

答案 0 :(得分:2)

我还不能评论,否则我会。你应该能够在这里找到一些有用的信息,人们试图用C ++解决同样的问题。祈祷告诉你,你是在尝试编写跨平台的程序,还是只编写Windows?您使用“.exe”表示仅限Windows。

CreateProcess from memory buffer

理论上,只要您没有尝试构建这个跨平台,理论上您就可以使用Windows API调用来完成这项工作。