Maison >Java >javaDidacticiel >Comment Java peut-il répertorier efficacement les fenêtres et les processus actifs sur différents systèmes d'exploitation ?

Comment Java peut-il répertorier efficacement les fenêtres et les processus actifs sur différents systèmes d'exploitation ?

DDD
DDDoriginal
2024-12-22 06:22:29901parcourir

How Can Java Efficiently List Active Windows and Processes Across Different Operating Systems?

Liste de fenêtres/processus multiplateformes avec Java

Dans le domaine de la programmation Java, récupérer une liste complète des fenêtres ou processus actifs sur une machine locale est une tâche fréquemment rencontrée. Cet article explore une approche efficace pour atteindre cet objectif multiplateforme.

Approche utilisant la commande 'ps'

Pour obtenir une liste de processus sur un système basé sur Linux , on peut exploiter la commande "ps -e". L'extrait de code Java suivant montre comment exécuter cette commande et analyser sa sortie :

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();
}

Ce code lance la commande "ps -e" et parcourt sa sortie, donnant accès aux informations sur le processus.

Considérations spécifiques à la plate-forme

Dans le cas des systèmes Windows, une approche similaire peut être utilisé, mais la commande utilisée sera différente. La ligne suivante montre comment récupérer la liste des processus sous Windows :

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

En utilisant les commandes spécifiques à la plate-forme mentionnées ci-dessus, les développeurs Java peuvent obtenir efficacement une liste multiplateforme des fenêtres ou des processus ouverts.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn