Java 从进程ID获取一个对象
我正在开发一个Java应用程序。在那里,我想开始一个过程。这是由JNA 4.0框架capsel Kernel32.dll完成的 现在我想通过应用程序的进程id获得一个对象 这是我的密码:Java 从进程ID获取一个对象,java,windows,jna,Java,Windows,Jna,我正在开发一个Java应用程序。在那里,我想开始一个过程。这是由JNA 4.0框架capsel Kernel32.dll完成的 现在我想通过应用程序的进程id获得一个对象 这是我的密码: 现在,如何从进程Id获取对象?是否有任何理由不使用Runtime.getRuntime.exec方法?是的,我想在后台以进程的形式启动exe。我想指导这个过程。你到底希望得到什么?您可以使用PID访问进程,但这不会让您访问进程的内存。不需要在标题中添加主标记。我希望获得一个强制对象,以便可以使用此对象执行操作
现在,如何从进程Id获取对象?是否有任何理由不使用Runtime.getRuntime.exec方法?是的,我想在后台以进程的形式启动exe。我想指导这个过程。你到底希望得到什么?您可以使用PID访问进程,但这不会让您访问进程的内存。不需要在标题中添加主标记。我希望获得一个强制对象,以便可以使用此对象执行操作
package de.test.windows;
import com.sun.jna.Pointer;
import com.sun.jna.platform.win32.Kernel32;
import com.sun.jna.platform.win32.WinBase;
import com.sun.jna.platform.win32.WinDef;
public class TestWindows {
public static void main(String[] args) {
WinBase.STARTUPINFO startupInfo = new WinBase.STARTUPINFO();
startupInfo.dwFlags = 1;
WinBase.PROCESS_INFORMATION.ByReference processInformation = new WinBase.PROCESS_INFORMATION.ByReference();
boolean status = Kernel32.INSTANCE.CreateProcess(null, "C:\\Program Files\\MyProgram\\Program.exe", null, null, true, new WinDef.DWORD(0), Pointer.NULL, System.getProperty("java.io.tmpdir"), startupInfo, processInformation);
if (status) {
System.out.println("Process-ID: " + processInformation.dwProcessId);
}
}
}