吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6007|回复: 30
收起左侧

[原创工具] 公司电脑防止锁屏保护-移动鼠标小工具 Java实现

  [复制链接]
HECCXX 发表于 2022-11-15 13:15
本帖最后由 HECCXX 于 2022-11-17 09:44 编辑

工作中,如果长时间不使用电脑,会遇到公司电脑有强制息屏保护,每次输入解锁密码很繁琐,而且有时候需要用第三方软件远程连接(为了安全考虑,有的公司只有qq远程,而且屏蔽了很多请求),这时候连上去输不了密码。

解决办法(介绍两种):

  • 1、打开ppt,使用放映,就会不进入息屏状态。(这是不需要使用其他工具的方法)
  • 2、或者   使用本文中发布的小工具。

鼠标移动小工具原理

代码如下,主要是用到java.awt 中接口,获取屏幕比例,然后获取鼠标现在的位置,如果30秒未移动鼠标,则把鼠标移动1坐标,然后又移回原来的位置(避免鼠标改变位置)。在使用鼠标也没关系,移动1坐标对肉眼看不出来差别。

这里只是模拟了移动,没有点击操作。


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 ShakeMouse
{
  public static final Long TIMES = Long.valueOf(30000L);

  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(TIMES.longValue()); continue;
        } catch (InterruptedException e) {
          e.printStackTrace(); continue;
        } 
      } 
      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(TIMES.longValue()); continue;
        } catch (InterruptedException e) {
          e.printStackTrace(); continue;
        } 
      } 
      pos = pos_info.getLocation();
      last_x = pos.x;
      last_y = pos.y;
      try {
        Thread.sleep(TIMES.longValue());
      } catch (InterruptedException e) {
        e.printStackTrace();
      } 
    } 
  }
}

成品

分享jar包和exe两种方式;

  • jar包运行,需要安装java  jre 或者jdk  ,最好安装 java 1.8 。然后运行 java -jar xxxx.jar   就好了。
  • exe方式,直接点击运行exe即可。(同级目录下已有jre运行环境)

下载地址:jar 包  :https://wwp.lanzoum.com/iPlJC0fy2xwh            密码:hqkh
exe : https://wwp.lanzoum.com/iSu5j0fy8c1g               密码:9628



QQ图片20221115131146.png

免费评分

参与人数 4吾爱币 +9 热心值 +2 收起 理由
学是以致用 + 1 谢谢@Thanks!
zhaopengdoctor + 1 我很赞同!
xyjlh + 1 我很赞同!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zhaopengdoctor 发表于 2022-12-22 11:00
我曾经在我的办公电脑上用autoit3做过一个相同功能的,思路基本上一致,获取当前鼠标的位置,然后移动鼠标。
我当时好象是让鼠标移动到它现在的位置,而不是移动1个像素,这样就不会看到鼠标指针的移动了。
再后来,就利用多桌面在另一个桌面上打开暴风影音程序,暂停播放,再切换到原来的桌面,这样也可以实现防止进入屏保。
CodeLoong 发表于 2022-11-17 10:22
lcxzst 发表于 2022-11-16 21:39
Wcj18272099990 发表于 2022-11-16 22:20
有没有效果图?顶一个``
CNSL 发表于 2022-11-16 23:31
感谢分享,搞下试试
iYoutudou 发表于 2022-11-17 00:29
请问这个还得单独打开一个PPT吗?
27149 发表于 2022-11-17 07:40
感谢楼主分享!
13737076607 发表于 2022-11-17 07:56
感谢分享,支持原创。
Crackpojie 发表于 2022-11-17 09:26
        感谢发布原创作品,吾爱破解论坛因你更精彩!
 楼主| HECCXX 发表于 2022-11-17 09:41
iYoutudou 发表于 2022-11-17 00:29
请问这个还得单独打开一个PPT吗?

不用单独打开,打开ppt放映只是普遍使用的另外一种方法。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-23 15:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表