(LINUX) Abrir aplicativo e retornar Hex(window ID) da janela aberta
3 respostasResolvido
Kirattus
Estou tentando desenvolver um projeto pessoal para estudos e me deparei com o seguinte problema, envio um código para o “Terminal” executar e necessito que ele me retorne o HEX( ou id) da janela do aplicativo que foi aberto.
O codigo “wmctrl -a” obtêm todas as informações das janelas abertas inclusive o HEX, eu poderia salvar o HEX existente e comparar qual é o novo HEX e salvar o mesmo na variavel, existe um meio mais “limpo e otimizado” pra eu só coletar o HEX direto do Processo criado no Runtime??
Acabei me expressando mal na pergunta, ele realmente retorna o PID ( process id) mas eu precisaria do “window id”, até consigo fazer uma nova solicitação no terminal para procurar a janela que esse processo está utilizando(caso houver). Mas queria diminuir o acesso ao terminal de algum modo apenas para conhecimento. Acabei fazendo exatamente isso.
No linux posso utilzar o xdotool ou o xterm mas não queria ter que instalar um novo pacote.
Solucao aceita
Kirattus
Contornei o problema com a seguinte solução, um metodo para Executar os comandos e retornar as informações.
O metodo para chamar o método anterior e comparar as hex antes de abrir o app e depois.
privatevoidOpenWindowSaveHex()throwsIOException,InterruptedException{
List<String>hexAntes=newArrayList<>();List<String>hexDepois=newArrayList<>();hexAntes=ExecuteComandTerminal(pathGetAllHex);ExecuteComandTerminal(tibiaPath);hexDepois=ExecuteComandTerminal(pathGetAllHex);hexDepois.removeAll(hexAntes);for(inti=0; i < hexDepois.size(); i++) {System.out.println(hexDepois.get(i));}
}
Acredito que é a solução, infelizmente me informaram em outro local que eu teria que instalar os pacotes e fazer a solicitação, para reaproveitar código eu fiz desta maneira.