我正在尝试通过在 JAVA SDK 上运行的 JNI 代码库进行系统调用 CreateProcess。这可以工作还是我必须使用其他 C 调用? 最初的程序是在Visual Studio上编写的,现在我们正在部分迁移到JAVA。我使用的是 WinAPI CreateProcessW,它内部调用 CreateProcess。而且这个 CreateProcess 没有定义,所以我假设它是一个系统调用。 请有人帮忙。谢谢。
P.S:现阶段我只能使用 C 代码。
最佳答案
CreateProcess是一个 Windows API。
在 SDK header 中,它被定义为 CreateProcessA
或 CreateProcessW
。
WinBase.h
摘录:
#ifdef UNICODE
#define CreateProcess CreateProcessW
#else
#define CreateProcess CreateProcessA
#endif // !UNICODE
您应该能够从用 C 编写的 JNI Dll 调用 CreateProcess
。
关于winapi - 从 JNI 调用 C 系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20519610/