Comment obtenir une liste complète des processus actifs et des fenêtres à l'aide de Java
Problème :
Concevoir une solution multiplateforme en Java pour récupérer une liste énumérée des processus en cours d'exécution et des fenêtres ouvertes, analogue au fonction 'liste des tâches' sous Windows.
Solution :
Java propose une bibliothèque robuste pour interagir avec le système d'exploitation sous-jacent, vous permettant de récupérer un catalogue de processus actifs et Windows à l'aide de commandes natives. Voici deux approches :
Approche 1 : analyse de la liste des processus à partir de la commande
Cette approche exploite la commande 'ps' (présente sur la plupart des systèmes de type Unix) pour lister tous les processus en cours d'exécution, y compris leurs détails pertinents.
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(); }
Approche 2 : Utilisation de la commande Tasklist sur Windows
Pour les systèmes Windows, la commande « ps » n'est pas disponible. Au lieu de cela, vous pouvez utiliser l'utilitaire « tasklist » pour récupérer les informations de processus.
Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\system32\"+"tasklist.exe");
Analyse et traitement des données
Une fois que vous avez exécuté la commande appropriée, vous pouvez analysez la sortie pour extraire des détails spécifiques sur un processus ou une fenêtre, tels que l'ID du processus, le nom ou le titre de la fenêtre. L'utilisation des capacités d'analyse de chaînes et des expressions régulières de Java peut simplifier cette tâche.
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!