mfc编写鼠标键盘_Arduino模拟鼠标实现屏幕长亮

本文介绍了如何使用Arduino开发板ATtiny85编写程序,模拟鼠标移动以防止屏幕保护程序启动和电脑待机。通过简单编程,每隔1分钟让鼠标在屏幕上横跳一个像素点,实现屏幕长亮的效果,无需手动调整系统设置。用户只需准备开发板和开发环境,编译烧录程序即可。
摘要由CSDN通过智能技术生成

为什么需要屏幕长亮

显示器屏幕长亮,意味着要防止屏幕保护程序自动启动,防止OS桌面自动锁定甚至进入待机状态。如果为了节能的目的,或者为了预防电脑无人照看时的信息泄露风险,自动锁屏待机无可厚非。但是很多时候也会带来麻烦,有无数可以脑洞的场景:

  • 写着文档时去倒了杯茶,你不想回来时被迫输入长长的密码解锁
  • 当前电脑上建了个服务器,你不想正要访问时机器却已经睡眠/待机
  • 在办公室假装看文档,实际打盹,你不想被黑屏出卖
  • 玩守望先锋中途安排尿点,你不想被踢出游戏
  • ...

有人会问,自己把屏保和节能选项禁掉不就可以了吗?请注意不是所有的人都愿意为了一个临时的屏幕长亮需求而去频繁修改设置。另外对于工作电脑,IT部门很可能设置了普通员工无法更改的锁屏安全策略。

方案选择

通常最简单的做法是不定期地隔几分钟晃一下鼠标,现在就把这个动作自动化。

实现成本最低的办法是自己写个程序甚至是脚本,定时调用Win32 API的mouse_event()函数,让鼠标产生一个位移,再立刻回到原来的坐标。这样能应付大多数场景,但也有例外。在很多游戏、虚拟机(像VmPlayer)、Flash应用的界面上它可能会不起作用。所以如果想普适所有应用和操作系统的话,自然而然会想到用外设来模拟鼠标。本文介绍的是用一款廉价小巧的Arduino开发板ATtiny85进行简单编程来自动化鼠标抖动。

准备开发板与开发环境

9634ed443e2e4c444943537e63c0f6d0.png
这块开发板最大的特点就是它的USB功能。类似于Arduino Leonardo,这块芯片原生支持USB接口,因而可以模拟出各式USB设备:键盘、鼠标...

Digispark ATtiny85现在在某宝上不到7块钱就能买到,有两种接口类型(mini-USB/USB)。

关于如何安装Arduino IDE并添加Digispark支持、安装Digispark驱动程序,能找到很多文章链接,这里就不赘述了。需要注意的是必须保证当前网络能访问到github.com,否则就下载不了Digispark支持包。

  • Digispark(ATTINY85) 微型开发板驱动与开发环境安装教程
  • 十块钱RMB | 用Digispark制作一个简单的Badusb
  • Digispark USB开发板把玩笔记(一)
  • Easy USB Mouse Jiggler to Prevent Screensaver

编写程序

啊,就这?对,就这么简单。每隔1分钟让鼠标左右横跳一个像素点,确保不会干扰到当前的活动,也不至于产生随时间累计的位移。

#include <DigiMouse.h>

void setup() {
  DigiMouse.begin();
}

void loop() {
  DigiMouse.moveX(-1);
  DigiMouse.delay(50);
  DigiMouse.moveX(1);
  DigiMouse.delay(60000);
}

d58f7daaa68ac203dc470382bf6f9f58.png
Arduino IDE菜单

点击验证按钮(对勾),编译通过后,再点击上传按钮(右箭头)。底部的输出窗口会提示你接入开发板,插上以后,等烧录成功的提示。从此就可以直接连目标电脑的USB口了,即插即用;而你的计算机将开启无眠无休的终身福报。

df1ff3de47cd80317cf05f3e7cd2e08d.png

(完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值