0

我希望编写的应用程序非常大,但需要作为服务运行。我计划使用 FireDaemon 对其进行转换并将其作为服务运行,但在按下特定键之前需要让它什么都不做。

我尝试使用DataInputStream一个 do/while 循环来等待按键,如下所示:

do {
   char keyPressed = input.readChar();
} while (keyPushed != null);

System.out.println("You pushed: " + keyPushed);

关于这个简单主题的信息并不多,我觉得这很奇怪。在 Basic 中,我们曾经使用 inkey$ 来等待一个键,Java 必须有类似的东西,但我就是不能把我的手指放在它上面。

你能帮忙的话,我会很高兴。

谢谢。宾夕法尼亚州鲍勃格兰特

4

2 回答 2

0

怎么样:

if (System.in.available() > 0)
    System.in.read();
于 2012-10-28T13:54:54.673 回答
0

如果我正确阅读了您的问题,您希望您的应用程序在 Windows 操作系统的后台运行,直到输入特定的组合键 - 例如热键。您将无法仅在 Java 中执行此操作,sdk 不提供这样的接口。您将需要用 C 编写一个帮助应用程序并使用 JNI 作为桥梁。

这篇文章应该对你有所帮助 - Windows OS 下 Java 应用程序的全局热键

于 2012-10-28T13:57:20.333 回答