Cześć,
jest w stanie ktoś mnie odesłać do źródła gdzie dowiem się jak poprawnie napisać program, który będzie wykonywał pewne operacje, jeżeli na przykład "notatnik" będzie włączony?

- Rejestracja:prawie 8 lat
- Ostatnio:4 miesiące
- Postów:205
0
W zasadzie sprowadza się to do znalezienia listy obecnie działających procesów na bieżącej maszynie. JDK nie udostępnia takiego API - tak na szybko to widzę dwie opcje:
- w programie wywołasz natywny OS call za pomocą np JNA, który zwróci takie informacje
- z programu odpalisz zewnętrzne polecenie systemowe, które zwróci listę procesów (np.
ps
na linuchu) i będziesz parsować resultat
- Rejestracja:około 6 lat
- Ostatnio:około 2 lata
- Lokalizacja:Kraków
- Postów:58
1
W linuxie możesz przeszukać listę procesów:
ps -ef | grep "notepad"
Na Windowsie możesz uzyć statycznej metody getRuntime() z klasy Runtime, przekazując ścieżkę do folderu z windowsem:
boolean isNotepadRunned(){
tring line;
String pidInfo ="";
Process process =Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"tasklist.exe");
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ((line = input.readLine()) != null) {
pidInfo+=line;
}
input.close();
return pidInfo.contains("notepad");
}
Wcześniej sprawdź w windowsowym task managerze nazwę procesu notatnika.
edytowany 2x, ostatnio: mfabjanski
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.