winapi - 从 JNI 调用 C 系统调用

标签 winapi java-native-interface

我正在尝试通过在 JAVA SDK 上运行的 JNI 代码库进行系统调用 CreateProcess。这可以工作还是我必须使用其他 C 调用? 最初的程序是在Visual Studio上编写的,现在我们正在部分迁移到JAVA。我使用的是 WinAPI CreateProcessW,它内部调用 CreateProcess。而且这个 CreateProcess 没有定义,所以我假设它是一个系统调用。 请有人帮忙。谢谢。

P.S:现阶段我只能使用 C 代码。

最佳答案

CreateProcess是一个 Windows API。

在 SDK header 中,它被定义为 CreateProcessACreateProcessW

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/

相关文章:

java - CreateProcessW 失败 (ACCESS_DENIED)

visual-studio-2010 - 有人在 Windows 7 上成功安装 Nodejs Soap 吗?

c++ - 从 GetSystemTimePreciseAsFileTime() 到本地时间的可靠快速方法

winapi - 获取 COM 服务器的进程 ID

java - 有没有一种好的方法可以在 Java 中处理对 LZMA 的*快速*压缩?

android - 疯狂混合 Android 外部 JAR 和 JNI

c# - 在 wpf 中设置与窗口标题不同的任务栏文本

Java JNI 和 Vala - undefined symbol : g_once_init_enter

java - 将 unicode 字符从 native 字符转换为 Java 字符时出现问题

java - 在 native 代码中使用由 sun.misc.Unsafe.allocateMemory() 分配的内存