用于获取Windows上当前运行的应用程序列表的命令

时间:2010-11-04 05:50:42

标签: java command-line windows-xp

我需要使用命令或java程序获取Windows上当前运行的应用程序的列表。例如,如果MS-Word和Window媒体播放器是当前在系统上运行的应用程序,那么我想使用命令或java程序来获取这些应用程序的列表。

谢谢和问候 Vivek Birdi

1 个答案:

答案 0 :(得分:1)

对于Windows

WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption,Commandline,Processid

尝试从java执行此命令,该命令将列出指定文件上当前正在运行的所有进程 Here is an example how to execute command from java

供参考:

for linux:

ps aux | less  

或者你也可以使用这个现成的windows代码:

public static List<String> listRunningProcesses() {
    List<String> processes = new ArrayList<String>();
    try {
      String line;
      Process p = Runtime.getRuntime().exec("tasklist.exe /fo csv /nh");
      BufferedReader input = new BufferedReader
          (new InputStreamReader(p.getInputStream()));
      while ((line = input.readLine()) != null) {
          if (!line.trim().equals("")) {
              // keep only the process name
              line = line.substring(1);
              processes.add(line.substring(0, line.indexOf(""")));
          }

      }
      input.close();
    }
    catch (Exception err) {
      err.printStackTrace();
    }
    return processes;
  }

来源:http://www.rgagnon.com/javadetails/java-0593.html