java - 在 Java 中从内存中执行一个可执行程序(.exe)

标签 java windows java-native-interface jna

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

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

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

最佳答案

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

CreateProcess from memory buffer

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

关于java - 在 Java 中从内存中执行一个可执行程序(.exe),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11087612/

相关文章:

c++ - Djinni:如何处理想要重载的方法?

java - 表示带有列/行标签的矩阵

java - 在 xml 中自动生成 JUnit 结果的最佳方法是什么?

java - 打印出在字符串中找到字符的行号

mysql - 如何为年份范围内每年的两个类别选择两个最大值?

windows - 用于编辑文件的 bat 函数(在文件开头添加行)

java - 可视化 sqlite 数据库模式

linux - Windows 中的键盘缓冲区

c++ - 如何在android项目中使用NDK?

java - 安卓NDK : Autogenerate function declarations?