java - 如何使用 Java 获取当前打开的窗口/进程的列表?

标签 java process

有谁知道我如何使用 Java 获取本地机器当前打开的窗口或进程?

我要做的是:列出当前打开的任务、窗口或进程打开,就像在 Windows 任务管理器中一样,但使用多平台方法 - 如果可能的话,只使用 Java。

最佳答案

这是从命令“ps -e”解析进程列表的另一种方法:

try {
    String line;
    Process p = Runtime.getRuntime().exec("ps -e");
    BufferedReader input =
            new BufferedReader(new InputStreamReader(p.getInputStream()));
    while ((line = input.readLine()) != null) {
        System.out.println(line); //<-- Parse data here.
    }
    input.close();
} catch (Exception err) {
    err.printStackTrace();
}

如果您使用的是 Windows,则应更改以下行:“Process p = Runtime.getRun...”等...(第 3 行),如下所示:

Process p = Runtime.getRuntime().exec
    (System.getenv("windir") +"\\system32\\"+"tasklist.exe");

希望信息有所帮助!

关于java - 如何使用 Java 获取当前打开的窗口/进程的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54686/

相关文章:

c# - COM DLL 依赖项中静态 DLL 数据的多个进程和拷贝

C++ 套接字问题

java - netbean 8.0.2中如何使用代码将jpanel添加到jframe

java - Java 中自己的事件无法修改类对象?

java - 需要帮助改进我的正则表达式

java - 将A系统作为Tomcat服务器

process - 内核调度程序如何通过定时器中断保持时间量子精度?

java - 静态 block java中的常量问题

iphone - 我需要在我的应用程序仍在运行时终止在 iPad 上运行的用户应用程序

c++ - 如何判断一个进程是否有GUI?