Java防鎖屏小程序代碼實例
為防止系統(tǒng)桌面自動鎖屏,只需打成jar包,寫個批處理程序start.bat,雙擊執(zhí)行保持dos窗口執(zhí)行即可,無其他影響。
程序設(shè)計為每30秒動一次鼠標(biāo),可根據(jù)需要調(diào)整。
附代碼:
package main;
import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.PointerInfo;
import java.awt.Robot;
import java.awt.Toolkit;
public class Main {
public static void main(String[] args) {
Robot robot = null;
try {
robot = new Robot();
} catch (AWTException e1) {
e1.printStackTrace();
}
Point pos = MouseInfo.getPointerInfo().getLocation();
int last_x = pos.x;
int last_y = pos.y;
int mov = 1;
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
System.out.println("Screen size: " + screenSize.getWidth() + "*" + screenSize.getHeight());
while (true) {
System.out.println(pos.x + " " + pos.y);
PointerInfo pos_info = MouseInfo.getPointerInfo();
if (pos_info == null) {
System.out.println("Get location fail!");
try {
Thread.sleep(30000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
pos = pos_info.getLocation();
if ((pos.x == last_x) && (pos.y == last_y)) {
System.out.println("moving!");
if (pos.y <= 0) {
mov = 1;
}
if (pos.y > 0) {
mov = -1;
}
robot.mouseMove(pos.x, pos.y + mov);
robot.mouseMove(pos.x, pos.y);
}
pos_info = MouseInfo.getPointerInfo();
if (pos_info == null) {
System.out.println("Get location fail!");
try {
Thread.sleep(30000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
pos = pos_info.getLocation();
last_x = pos.x;
last_y = pos.y;
try {
Thread.sleep(30000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
}
將這個Main類打成jar包,此處jar包名為MouseMove.jar;與jar包同目錄位置寫個.bat類型文件,文件內(nèi)容如下:
@echo off java -jar MouseMove.jar
雙擊執(zhí)行即可。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java執(zhí)行SQL腳本文件到數(shù)據(jù)庫詳解
這篇文章主要為大家詳細(xì)介紹了Java執(zhí)行SQL腳本文件到數(shù)據(jù)庫的相關(guān)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
Java中的Lambda表達(dá)式及其應(yīng)用小結(jié)
Java中的Lambda表達(dá)式是一項極具創(chuàng)新性的特性,它使得Java代碼更加簡潔和高效,尤其是在集合操作和并行處理方面,這篇文章主要介紹了Java中的Lambda表達(dá)式及其應(yīng)用,需要的朋友可以參考下2025-04-04
Java?Web中ServletContext對象詳解與應(yīng)用
ServletContext是一個容器,可以用來存放變量,供一個web項目中多個Servlet共享,下面這篇文章主要給大家介紹了關(guān)于Java?Web中ServletContext對象詳解與應(yīng)用的相關(guān)資料,需要的朋友可以參考下2023-04-04
SpringBoot實現(xiàn)HTTP服務(wù)監(jiān)聽的代碼示例
前后端分離項目中,在調(diào)用接口調(diào)試時候,我們可以通過cpolar內(nèi)網(wǎng)穿透將本地服務(wù)端接口模擬公共網(wǎng)絡(luò)環(huán)境遠(yuǎn)程調(diào)用調(diào)試,本次教程我們以Java服務(wù)端接口為例,需要的朋友可以參考下2023-05-05
SpringCloud使用Feign實現(xiàn)服務(wù)調(diào)用
這篇文章主要為大家詳細(xì)介紹了SpringCloud使用Feign實現(xiàn)服務(wù)調(diào)用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04
Java實現(xiàn)撲克牌的創(chuàng)建以及發(fā)放
在java當(dāng)中生成一副牌有很多種方法,有簡單易于理解的面向過程編程,也有面向?qū)ο竽K化編程,下面這篇文章主要給大家介紹了關(guān)于Java實現(xiàn)撲克牌的創(chuàng)建以及發(fā)放的相關(guān)資料,需要的朋友可以參考下2023-03-03
java實現(xiàn)Excel的導(dǎo)入導(dǎo)出
這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)Excel的導(dǎo)入導(dǎo)出,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06
SpringBoot如何訪問html和js等靜態(tài)資源配置
這篇文章主要介紹了SpringBoot如何訪問html和js等靜態(tài)資源配置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03

