如何通过Java中的某个Process Id获取Process对象。
我正在使用JNI创建进程,因为我想在后台打开应用程序。

WinBase.STARTUPINFO startupInfo = new WinBase.STARTUPINFO();
startupInfo.dwFlags = 1;

WinBase.PROCESS_INFORMATION.ByReference processInformation = new WinBase.PROCESS_INFORMATION.ByReference();

Kernel32.INSTANCE.CreateProcess(null, "C:\\Program Files\\...", null, null, true, new WinDef.DWORD(0), Pointer.NULL, System.getProperty("java.io.tmpdir"), startupInfo, processInformation);

int prozessId = processInformation.dwProcessId.intValue();

最佳答案

这是不可能的。 ProcessProcessBuilder的API不允许您为现有进程创建Process实例;您始终只能使用它们创建新的子进程。

10-06 02:51