gpt4 book ai didi

java - 如何使用Java关闭运行时弹出的对话框?

转载 作者:行者123 更新时间:2023-12-02 13:27:18 25 4
gpt4 key购买 nike

我正在尝试制作一个执行 OCR(图像到文本转换)的项目。我正在使用 AspriseOCR jar 文件,并相应地设置了我的项目。效果很好。

每当我运行该项目时,当调用 aspriseOCR API 时,窗口中会弹出一个对话框,询问我是否要访问他们的网站。我需要自动化整个过程。所以我不希望出现这个对话框。

有什么方法可以在我的代码本身中关闭此对话框(如果它出现)?有什么方法可以按 Enter 按钮(它会相应关闭)。我正在使用Java、Eclipse。

注意:这不适用于网络浏览器。所以我无法使用Selenium相关命令。

编辑:-我尝试使用这个:-

机器人 r = new Robot();
r.keyPress(KeyEvent.VK_ENTER);
r.keyRelease(KeyEvent.VK_ENTER);

但这并不能解决我的问题,因为我需要将其添加到 API 源代码中,而我无权访问该源代码。还有其他途径或方法可以关闭对话框吗?

所以代码的一部分是:-

`{
String s = ocr.recognize( new File[] {new File("C:\\work\\"+file)},
Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_PLAINTEXT);
Robot robot;
robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
System.out.println("\n\n pressed enter\n\n");
System.out.println("Result:\n\n"+s);
ocr.stopEngine();
}`

因此,当控件转到函数 ocr.recognize(...) 时,会出现对话框,并且我无权访问该 jar 文件中存在的源代码。

有什么方法可以并行运行另一个线程,该线程等待打开此对话框并关闭它(此线程与 ocr.recognize 并行运行)。请告诉我如何识别 Windows 对话框是否已使用 java 代码打开。

最佳答案

您可以使用 Robot 类来实现此目的,如下所示:

    //if you want to press alt+f4; to close window or
Robot robot = new Robot();

robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_F4);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_F4);


// to press enter

Robot robot = new Robot();

robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);

关于java - 如何使用Java关闭运行时弹出的对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43340070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com