从windows应用程序获取正在运行的java应用程序的进程id

get the process id of a running java application from a windows application

本文关键字:应用程序 id java 进程 运行 windows 获取      更新时间:2023-10-16

我正在使用CreateProcess()win32 API启动java应用程序(testApp.exe)PROCESS_INFORMATION结构正在返回一个进程id,该进程id不存在于taskmanager或EnumProcesses()neneneba API中的PID列表中。我可以看到,有一个javaw.exe启动时具有一些不同的进程id。这个javaw.exe进程id与process_INFORMATION结构返回的PID不同。

如何获得正确的PID。

我想启动这个java应用程序,稍后我想使用PID终止这个java应用。

CreateProcess()在物理上不可能报告TaskManager看不到的PID(除非存在隐藏PID的低级Trojan/rootkit)。在进程结束并且关闭CreateProcess()返回的句柄之前,进程存在并且其PID不能消失。

最有可能发生的情况是,在您有机会查看TaskManager或枚举代码中正在运行的进程之前,关闭CreateProcess()的句柄,并且有问题的新进程正在退出。