自制玩具:远程锁屏小工具

71 阅读2分钟

背景

我们公司有个规定,从电脑前离开时要给电脑锁屏。应该是防止别人偷偷看、使用你的电脑。 有的同事从电脑前离开,走了到电脑口想起自己还没给电脑锁屏,还得回去锁。所以我就想,可以做一个小工具,在手机上就能给电脑锁屏。

设计

通信

要用远程操作电脑,就得通信。最方便的当然是电脑上起个server, 用手机直接访问这个server,由server操作电脑。但获取一个固定的IP地址不容易。

所以,我考虑用一个远程服务器作为中转站。这个远程服务器是我从www.racknerd.com/ 上买的,用来学习开发的。 远程服务器提供两个接口:获取设置,和修改设置。 在本地电脑上,一直轮询远程服务器,若发现需要锁屏,则立即锁屏。

如何用手机操作

使用飞书多维表格自动化,点击按钮就能发出指定请求

实现

远程服务器核心逻辑

github.com/Xyc2016/rem…

  1. get\_lock接口,不但会返回“要不要锁屏”的信息。如果要锁屏,还得自动重新设置为“不需要锁屏”。否则,客户端轮询时就会循环锁屏。
  2. lowdb是一个可以把json文件当作数据库的工具。使用了lowdb进行数据持久化,重启server不会丢失数据。

本地客户端核心逻辑

github.com/Xyc2016/rem…

  1. 使用了windows库,这个库是微软开发的,可以用来操作电脑。LockWorkStation锁屏。
  2. 不断轮询,lock==true时锁屏。

手机操作

新建多维表格,添加这样的字段 image.png 设置为点击此按钮,就POST指定的接口。

image.png 简单尝试了一下效果不错。

改进

当前这种轮询通信方法还是不够好。 考虑以后让本地客户端和远程服务器使用websockets通信,节省通信成本,同时提高通信效率。