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

Tho*_*ppo 5 java windows java-native-interface jna

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

我的技术不够熟练,无法编写本机代码来执行此操作。再次强调,这应该是 Windows 原生的。

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

Wug*_*Wug 2

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

从内存缓冲区创建进程

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