C ++使用参数执行.jar文件并获取结果字符串

时间:2019-02-11 09:00:15

标签: java c++ dll

我正在尝试使用自己的带有参数的C ++ .dll代码执行.jar文件,并获取将要打印的结果字符串。不幸的是,尽管我已经尝试找到正确的导入,例如popen_popen,但是代码找不到#include <stdio.h>#include <stdlib.h>命令。 甚至有可能以可接受的性能从.dll执行.jar,这怎么可能?我找不到适合我的示例。

.jar文件将仅被称为java -jar test.jar "samplestring"。键入此命令并获得结果后,控制台可以做什么?

我尝试了这个示例(问题:未定义popen和pclose): popen() writes output of command executed to cout

编辑:UWP不支持popen或_popen

现在我明白了:

STARTUPINFOW        siStartupInfo;
PROCESS_INFORMATION piProcessInfo;

memset(&siStartupInfo, 0, sizeof(siStartupInfo));
memset(&piProcessInfo, 0, sizeof(piProcessInfo));

if (CreateProcess(TEXT("C:\\Program Files (x86)\\Java\\jdk1.8.0_161\\bin\\java.exe"), TEXT("-jar decode.jar"), NULL, NULL, false, CREATE_DEFAULT_ERROR_MODE, NULL, NULL, &siStartupInfo, &piProcessInfo) == false) {
    return -1; //Error
}


CloseHandle(piProcessInfo.hProcess);
CloseHandle(piProcessInfo.hThread);

如何获取CreateProcess命令的输出?这可能吗?

0 个答案:

没有答案