WMIC进程空的可执行文件路径

问题描述

为什么wmic process get name,commandline,processid,executablePath中的某些进程未显示ExecutablePath的值?

wmic output

但是我可以在中找到它吗?

taskmgr

有什么方法可以从获取可执行文件路径吗?

解决方法

谢谢大家,尤其是@Eryk Sun,这是我为其他将遇到相同问题的人提供的简单解决方案。

import com.sun.jna.platform;

String getExPath(int pid) {
        Kernel32 kernel32 = Kernel32.INSTANCE;
        WinNT.HANDLE hProcess = kernel32.OpenProcess(WinNT.PROCESS_QUERY_LIMITED_INFORMATION,false,pid);
        char buffer[] = new char[1024];
        IntByReference size = new IntByReference(buffer.length);
        kernel32.QueryFullProcessImageName(hProcess,buffer,size);
        return new String(buffer).trim();
}

我一直在寻找类似的方法来获取过程的命令行,但并没有成功。我感谢您的建议。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...