So erhalten Sie eine umfassende Liste aktiver Prozesse und Windows mit Java
Problem:
Entwicklung einer plattformübergreifenden Lösung in Java zum Abrufen einer aufgezählten Liste aktuell laufender Prozesse und geöffneter Fenster, analog zu „Aufgabenlisten“-Funktion in Windows.
Lösung:
Java bietet eine robuste Bibliothek für die Interaktion mit dem zugrunde liegenden Betriebssystem, die es Ihnen ermöglicht, einen Katalog aktiver Prozesse abzurufen und Windows mit nativen Befehlen. Hier sind zwei Ansätze:
Ansatz 1: Prozessliste aus dem Befehl analysieren
Dieser Ansatz nutzt den Befehl „ps“ (auf den meisten Unix-ähnlichen Systemen vorhanden) zum Auflisten alle laufenden Prozesse, einschließlich ihrer relevanten Details.
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(); }
Ansatz 2: Verwendung des Tasklist-Befehls auf Windows
Für Windows-basierte Systeme ist der Befehl „ps“ nicht verfügbar. Stattdessen können Sie das Dienstprogramm „Aufgabenliste“ verwenden, um Prozessinformationen abzurufen.
Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\system32\"+"tasklist.exe");
Daten analysieren und verarbeiten
Sobald Sie den entsprechenden Befehl ausgeführt haben, können Sie dies tun Analysieren Sie die Ausgabe, um bestimmte Prozess- oder Fensterdetails wie Prozess-ID, Name oder Fenstertitel zu extrahieren. Die Nutzung der String-Parsing-Funktionen und regulären Ausdrücke von Java kann diese Aufgabe vereinfachen.
Das obige ist der detaillierte Inhalt vonWie kann Java eine umfassende Liste aktiver Prozesse und Fenster über verschiedene Betriebssysteme hinweg abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!