如何使用Java检测PC已空闲30秒?
如何使用Java检测PC已空闲30秒?
EDITED
闲置我的意思是没有用户活动。 用户在30秒内什么都不做。 我喜欢像Windows这样的应用程序,检测到用户什么都不做,然后进入stad-by。
直接来自java,这是不可能的。 您必须找到一些本机库并为此创建一个JNI包装器。
我遇到过使用JNA检测系统范围空闲时间的优秀示例。 Java Native Access(JNA)是一个库,提供对Java Native Interface(JNI)的访问,而无需您实际编写本机代码。
这是一个非常接近你所要求的例子 。
根据要求不可行,但您可以使用java.lang.management API创建变通方法。 在javaworld上也可以找到JNI实现。
不容易看看OperatingSystemMXBean方法getSystemLoadAverage()仅在java 6中可用,你可以跟踪它,如果它是相同的一段时间确定pc是空闲的。
这假设空闲CPU空闲
OperatingSystemMXBean operatingSystemMxBean = ManagementFactory.getOperatingSystemMXBean();