如何列出使用Java在Windows中运行的所有应用程序?

如何列出使用Java在Windows中运行的所有应用程序?,java,windows,Java,Windows,我想创建一个使用Java在Windows中运行的所有应用程序的列表。列表应仅包含应用程序,而不是所有进程。我该怎么做 以下是我到目前为止所做的尝试: Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"tasklist.exe"); try (BufferedReader input = new BufferedReader(new InputStreamReader(p.g

我想创建一个使用Java在Windows中运行的所有应用程序的列表。列表应仅包含应用程序,而不是所有进程。我该怎么做

以下是我到目前为止所做的尝试:

Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"tasklist.exe");
        try (BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
            while ((line = input.readLine()) != null) {
                System.out.println(line); //<-- Parse data here.
            }
        }
processp=Runtime.getRuntime().exec(System.getenv(“windir”)+“\\system32\\”+“tasklist.exe”);
try(BufferedReader input=new BufferedReader(new InputStreamReader(p.getInputStream())){
而((line=input.readLine())!=null){

System.out.println(line);//正常解析任务列表,然后在此命令中插入进程名称(不带.exe):

PowerShell获取过程^ |格式列表路径

例如,
PowerShell获取进程chrome^|格式列表路径


如果输出包含“程序文件”,则很可能是应用程序,否则可能不是。这需要PowerShell当然^^

如果您知道如何将“应用程序”与任何其他进程区分开来,则可以分析字符串行。您的问题是什么?请明确问题。