Windows使用Java运行应用程序列表

如何让Windows使用Java运行应用程序列表?我得到了进程列表。

我建议也使用qprocess实用程序,然后,如果您需要有关进程的更多信息,请使用wmic。

例如:

String line; try { Process proc = Runtime.getRuntime().exec("wmic.exe"); BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream())); OutputStreamWriter oStream = new OutputStreamWriter(proc.getOutputStream()); oStream .write("process where name='explorer.exe'"); oStream .flush(); oStream .close(); while ((line = input.readLine()) != null) { System.out.println(line); } input.close(); } catch (IOException ioe) { ioe.printStackTrace(); } 

请参阅http://ss64.com/nt/wmic.html或http://support.microsoft.com/servicedesks/webcasts/wc072402/listofsampleusage.asp关于您可以从wmic获得什么的一些示例…

您可以从Java运行一些命令行util来收集进程信息。 例如:

 Process process = Runtime.getRuntime().exec("qprocess"); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); 

然后你只是阅读它的输出并解析它。 qprocess是一个标准的Windows XP工具。 在其他版本的Windows中,您可能需要其他一些实用程序。

你可以搜索相似的答案。 一个在这里 。 看看它是否符合你的需求。 否则,网络上也有很多解决方案。 搜索谷歌他们

  package com.vipul; import java.applet.Applet; import java.awt.Checkbox; import java.awt.Choice; import java.awt.Font; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class BatchExecuteService extends Applet { public Choice choice; public void init() { setFont(new Font("Helvetica", Font.BOLD, 36)); choice = new Choice(); } public static void main(String[] args) { BatchExecuteService batchExecuteService = new BatchExecuteService(); batchExecuteService.run(); } List<String> processList = new ArrayList<String>(); public void run() { try { Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec("D:\\server.bat"); process.getOutputStream().close(); InputStream inputStream = process.getInputStream(); InputStreamReader inputstreamreader = new InputStreamReader( inputStream); BufferedReader bufferedrReader = new BufferedReader( inputstreamreader); BufferedReader bufferedrReader1 = new BufferedReader( inputstreamreader); String strLine = ""; String x[]=new String[100]; int i=0; int t=0; while ((strLine = bufferedrReader.readLine()) != null) { // System.out.println(strLine); String[] a=strLine.split(","); x[i++]=a[0]; } // System.out.println("Length : "+i); for(int j=2;j<i;j++) { System.out.println(x[j]); } } catch (IOException ioException) { ioException.printStackTrace(); } } } 

你可以像创建批处理文件一样

TASKLIST / v / FI“STATUS eq running”/ FO“CSV”/ FI“Username eq LHPL002 \ soft”/ FI“MEMUSAGE gt 10000”/ FI“Windowtitle ne N / A”/ NH