通过使用下面的代码,我打开了一个窗口(比如一些软件安装程序窗口),它很好, 在这里,我想检查窗户是否打开天气。
如何检测窗口是否已打开?
代码段: -
cmdarray = "......";
Runtime runTime = Runtime.getRuntime();
Process responce = runTime.exec(cmdarray);
什么样的窗口
Ans : - 任何位置的安装程序窗口
最后我可以通过使用Hussain提供的解决方案找到窗口是否打开
如果我想关闭窗户,我该如何关闭它.......
我使用 taskkill / F / IM<< java中的installer_window>> .exe 命令(如runtime.exe(“command”);)来终止进程。 但是窗户没有关闭。有没有办法关闭那个窗口。
先谢谢。
@Hussain
我按照你说的尝试,但是我收到的错误如错误:无法终止带有PID 4408的进程“proces.exe”原因:此进程只能强制终止(使用/ F选项)。 这就是为什么我包含 / F ,借助于此我可以终止进程,但窗口没有关闭。
请提供快速解决方案,等待回复......
先谢谢
答案 0 :(得分:1)
这将为您提供窗口中运行的所有进程的完整列表,您可以迭代它以使您所需的程序运行与否。
public class taskmanager {
public static void main(String[] args) throws IOException {
String line;
Process p = Runtime.getRuntime().exec("tasklist.exe");
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line); //<-- Parse data here.
}
input.close();
String processToKill = "notepad++.exe"
killProcess(processToKill);
}
public void killProcess(String processName)
{
Runtime.getRuntime().exec("taskkill /IM " + processName);
}
}