Java防鎖屏小程序代碼實(shí)例
為防止系統(tǒng)桌面自動(dòng)鎖屏,只需打成jar包,寫(xiě)個(gè)批處理程序start.bat,雙擊執(zhí)行保持dos窗口執(zhí)行即可,無(wú)其他影響。
程序設(shè)計(jì)為每30秒動(dòng)一次鼠標(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();
}
}
}
}
}
}
將這個(gè)Main類(lèi)打成jar包,此處jar包名為MouseMove.jar;與jar包同目錄位置寫(xiě)個(gè).bat類(lèi)型文件,文件內(nèi)容如下:
@echo off java -jar MouseMove.jar
雙擊執(zhí)行即可。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java執(zhí)行SQL腳本文件到數(shù)據(jù)庫(kù)詳解
這篇文章主要為大家詳細(xì)介紹了Java執(zhí)行SQL腳本文件到數(shù)據(jù)庫(kù)的相關(guān)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Java中的Lambda表達(dá)式及其應(yīng)用小結(jié)
Java中的Lambda表達(dá)式是一項(xiàng)極具創(chuàng)新性的特性,它使得Java代碼更加簡(jiǎn)潔和高效,尤其是在集合操作和并行處理方面,這篇文章主要介紹了Java中的Lambda表達(dá)式及其應(yīng)用,需要的朋友可以參考下2025-04-04
Java?Web中ServletContext對(duì)象詳解與應(yīng)用
ServletContext是一個(gè)容器,可以用來(lái)存放變量,供一個(gè)web項(xiàng)目中多個(gè)Servlet共享,下面這篇文章主要給大家介紹了關(guān)于Java?Web中ServletContext對(duì)象詳解與應(yīng)用的相關(guān)資料,需要的朋友可以參考下2023-04-04
SpringBoot實(shí)現(xiàn)HTTP服務(wù)監(jiān)聽(tīng)的代碼示例
前后端分離項(xiàng)目中,在調(diào)用接口調(diào)試時(shí)候,我們可以通過(guò)cpolar內(nèi)網(wǎng)穿透將本地服務(wù)端接口模擬公共網(wǎng)絡(luò)環(huán)境遠(yuǎn)程調(diào)用調(diào)試,本次教程我們以Java服務(wù)端接口為例,需要的朋友可以參考下2023-05-05
SpringCloud使用Feign實(shí)現(xiàn)服務(wù)調(diào)用
這篇文章主要為大家詳細(xì)介紹了SpringCloud使用Feign實(shí)現(xiàn)服務(wù)調(diào)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
Java實(shí)現(xiàn)撲克牌的創(chuàng)建以及發(fā)放
在java當(dāng)中生成一副牌有很多種方法,有簡(jiǎn)單易于理解的面向過(guò)程編程,也有面向?qū)ο竽K化編程,下面這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)撲克牌的創(chuàng)建以及發(fā)放的相關(guān)資料,需要的朋友可以參考下2023-03-03
java實(shí)現(xiàn)Excel的導(dǎo)入導(dǎo)出
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)Excel的導(dǎo)入導(dǎo)出,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
SpringBoot如何訪(fǎng)問(wèn)html和js等靜態(tài)資源配置
這篇文章主要介紹了SpringBoot如何訪(fǎng)問(wèn)html和js等靜態(tài)資源配置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03

