2017-06-02 5 views
0

Meine Aufgabe ist es, die Details bestimmter Dienste in Windows mit Java zu erhalten. Ich kann Service-Status bekommen, aber ich habe nichts gefunden, was den Modus (automatisch, manuell) mit Java zeigt.Get-Modus von Windows-Diensten mit Java

Wie bekomme ich den Modus eines Dienstes?

Dies ist der Code, den ich

String status = ""; 
Process p = Runtime.getRuntime().exec("sc \\\\" + host + " query \"" + serviceName + "\""); 
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); 
String line = reader.readLine(); 
while (line != null) { 
    if (line.trim().startsWith("STATE")) { 
     boolean state = line.contains("RUNNING"); 
     if (state) 
      status = "Running"; 
     else 
      status = "Stopped"; 
    } 
    line = reader.readLine(); 
} 

Antwort

0

Ty service- den Status von Fenstern zu bekommen verwende diesen Befehl auszuführen:

sc qc <service_name>

sc qc prgnDiscAgent 
[SC] QueryServiceConfig SUCCESS 

SERVICE_NAME: prgnDiscAgent 
     TYPE    : 110 WIN32_OWN_PROCESS (interactive) 
     START_TYPE   : 2 AUTO_START 
     ERROR_CONTROL  : 1 NORMAL 
     BINARY_PATH_NAME : "C:\Program Files (x86)\Hewlett-Packard\Discovery Agent\bin32\discagnt.exe" 
     LOAD_ORDER_GROUP : 
     TAG    : 0 
     DISPLAY_NAME  : HP DDMI Agent 
     DEPENDENCIES  : 
     SERVICE_START_NAME : LocalSystem 
+0

Es funktionierte. Vielen Dank!. –