Winapi 从JNI调用C系统调用

Winapi 从JNI调用C系统调用,winapi,java-native-interface,Winapi,Java Native Interface,我试图通过运行在JavaSDK上的JNI代码库进行系统调用CreateProcess。这行吗?还是我必须使用其他C调用? 最初的程序是在VisualStudio上编写的,现在我们正在部分迁移到JAVA。我使用的是WinAPI CreateProcessW,它在内部称为CreateProcess。这个CreateProcess没有定义,所以我假设它是一个系统调用。 谁来帮忙。多谢各位 附言:在这个阶段我只能使用C代码。是一个Windows API 在SDK头中,它被定义为CreateProcess

我试图通过运行在JavaSDK上的JNI代码库进行系统调用CreateProcess。这行吗?还是我必须使用其他C调用? 最初的程序是在VisualStudio上编写的,现在我们正在部分迁移到JAVA。我使用的是WinAPI CreateProcessW,它在内部称为CreateProcess。这个CreateProcess没有定义,所以我假设它是一个系统调用。 谁来帮忙。多谢各位

附言:在这个阶段我只能使用C代码。

是一个Windows API

在SDK头中,它被定义为
CreateProcessA
CreateProcessW

WinBase.h
摘录:

#ifdef UNICODE
#define CreateProcess  CreateProcessW
#else
#define CreateProcess  CreateProcessA
#endif // !UNICODE

您应该能够从用C编写的JNI Dll调用
CreateProcess

事实上,我已经包括了整个文件夹“C:\Program Files\Microsoft SDK\Windows\v7.0A\Include”,其中也包括WinBase.h,但不知怎的,我得到了很多构建错误,表示WinBase.h中的定义无法识别。Inbase.h是定义CreateProcess宏的位置。要使用Win32 API,请包括Ok谢谢。我要试试这个,你是不是用了CreateProcess API?是的,我用了。实际上,我使用mingw64使用GCC进行编译,这个包有特定于windowsapi的文件。所以,我只是在我的代码中包含了这个文件,它就工作了。