我需要使用命令或java程序获取Windows上当前运行的应用程序的列表。例如,如果MS-Word和Window媒体播放器是当前在系统上运行的应用程序,那么我想使用命令或java程序来获取这些应用程序的列表。
谢谢和问候 Vivek Birdi
答案 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