要使用Java检测PC已空闲30秒,您可以使用以下方法:
以下是一个简单的示例代码:
import java.awt.*;
import java.awt.event.*;
import java.util.Date;
public class IdleTimeDetector {
private static long lastActivityTime = new Date().getTime();
private static final int IDLE_TIME_LIMIT = 30000; // 30 seconds
public static void main(String[] args) {
// Add listeners for keyboard and mouse events
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
@Override
public void eventDispatched(AWTEvent event) {
if (event instanceof KeyEvent || event instanceof MouseEvent) {
lastActivityTime = new Date().getTime();
}
}
}, AWTEvent.KEY_EVENT_MASK | AWTEvent.MOUSE_EVENT_MASK | AWTEvent.MOUSE_MOTION_EVENT_MASK);
// Check for idle time every second
new Thread(() -> {
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
long currentTime = new Date().getTime();
long idleTime = currentTime - lastActivityTime;
if (idleTime >= IDLE_TIME_LIMIT) {
System.out.println("PC has been idle for 30 seconds.");
// Perform your desired action here
}
}
}).start();
}
}
此代码将创建一个线程,每秒检测一次键盘和鼠标事件。如果PC空闲超过30秒,则会输出一条消息,您可以在这里执行所需的操作。
请注意,此示例代码仅适用于Java桌面应用程序。如果您正在使用Web应用程序或其他类型的应用程序,则需要使用其他方法来检测空闲时间。
领取专属 10元无门槛券
手把手带您无忧上云