java - 如何检查操作系统(Java)中是否打开了默认浏览器?

标签 java

我是这里的新手。在工作期间,我遇到了一个有趣的问题。我需要:

  • 检查默认的html浏览器是否打开;
  • 检查浏览器是否最小化/最大化(简单来说,窗口的状态);
  • 获取在浏览器中输入的 url 地址。

如果这些条件中的任何一个不满足,我必须使用所需的 URL 地址以最大化 View 打开浏览器。

我主要想在Java,但我想到我应该采用许多技巧/技术并将它们适本地组合起来以完成功能。但是,哪些?那就是问题所在。

我刚刚记忆起Windows API,但我不确定它是否有任何帮助...另一个论坛上的一些用户建议我应该考虑JNI(完全没有经验)...我只是知道如何打开默认浏览器(例如,使用“java.awt.Desktop”类的“browse(URI uri)”方法)——这还不足以令人自豪。

请给我一些提示,也许可以链接到合理的讨论,我将非常感谢任何如何解决问题的建议。

最佳答案

Java API 中没有想到,因为它旨在独立于平台,并且您在此处描述的信息的检索严重依赖于平台(和网络浏览器!)。

如果您不担心仅限 Windows 的解决方案,请首先使用平台 native 语言(例如 C/C++)编写(或搜索)解决方案,然后在 Java Native Interface (JNI) 的帮助下在 Java 中调用它。 .

关于java - 如何检查操作系统(Java)中是否打开了默认浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2990186/

相关文章:

java - 将上传的excel存入数据库

java - 使 InputStream 成为非阻塞的

java - 在MVC模型中以JSON格式显示查询结果

java - 无法 Autowiring 。找不到 Neo4jTemplate 类型的 beans

java - java创建数组的方法

java - 每个客户端的 Tibco JMS (EMS) TimeToLive?

java - 我希望 java 使用 ...new PrintStream 创建一个新文件...一切正常,但我在项目中找不到该文件

java - 我的主要方法必须重复此100次: randomly generate numbers 1 to 12,使用getDayInMonth随机生成天数?

java - 如何通过 bundle 发送双值

java.lang.NoClassDefFoundError : io/dropwizard/jetty/RequestLogFactory when using dropwizard