关于windows:用Java从内存中执行一个可执行程序(.exe)

Execute an executable program (.exe) from memory in Java

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

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

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


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

从内存缓冲区创建进程

理论上你应该能够通过使用 Windows API 调用来完成这项工作,只要你不尝试跨平台。