前言:
本人公司办公主要使用微信交流,当我想去厕所摸鱼时,微信在电脑上登陆着总是害怕泄露隐私,虽然现在版本中微信已经加入了锁定功能,但是需要手动点击。一旦忘记了就容易将小秘密泄露出来,所以有了本期《电脑版微信自动上锁:计划任务+powershell脚本实现》。
流程及原理:
windows版微信大概是在3.9.5开始支持锁定,锁定快捷键是"Ctrl + L",一次可以通过powershell脚本,打开微信,并在微信页面模拟键盘"Ctrl + L"操作。触发条件是当我的手机断开公司wifi,就自动锁定微信(手机电脑需要在同一个wifi下)。再通过windows的任务计划程序,每隔一段时间自动运行脚本。
下面开始操作:
上脚本代码:
# @author haohao
# @date 2024-12-20
# 定义要测试的IP地址
$ipAddress = "192.168.1.214" # 替换为实际手机的IP地址
# 尝试ping该IP地址
try {
$pingResult = Test-Connection -ComputerName $ipAddress -Count 1 -Quiet -ErrorAction Stop
} catch {
# 如果发生错误(例如网络不可达),假设ping不通
$pingResult = $false
}
if (-not $pingResult) {
# 如果ping不通,则执行动作1
Write-Output "Ping不通,执行动作1"
# 启动WeChat程序(替换为你的微信exe位置)
$process = Start-Process -FilePath "C:\Program Files (x86)\Tencent\WeChat\WeChat.exe" -PassThru
Start-Sleep -Seconds 2 # 等待2秒钟让WeChat完全加载,如果电脑卡就多弄几秒
# 检查是否成功启动了WeChat
if ($process.MainWindowHandle -eq [System.IntPtr]::Zero) {
Write-Host "WeChat窗口未找到"
} else {
# 发送快捷键 Ctrl + l(微信锁定快捷键)
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.SendKeys]::SendWait("^l")
}
} else {
# 如果ping通,则执行动作2
Write-Output "Ping通了,执行动作2"
}
脚本每一步都有注释,这里就不赘述了。
1.打开记事本,将脚本保存,重命名为“自动锁定微信脚本.ps1”,需要注意,ps1文件本身无法像。bat一样直接运行,这里我的做法是将“.ps1”转换为“.exe”的可执行文件。具体做法:
2.右键以管理员运行powershell,输入以代码:
Install-Module -Name ps2exe -Force
会提示是否安卓,输入y,回车
3.将“ps1”->“.exe”
ps2exe C:\Path\To\YourScript.ps1 C:\Path\To\OutputFile.exe
对应位置填上你ps1文件和需要存放的exe文件位置即可
4.设置手机
因为设备连接wifi,自动分配的ip地址可能会变化,所以我们需要将手机ip固定,水果手机按照我给的图片设置就行了,
ip地址和路由器需要根据你的路由器实际修改,不要照抄阿,
配置dns为手动,添加服务器为路由地址。
5.设置任务计划程序
左下角搜索框,搜索“任务计划”,(有的朋友可能没有,需要单独设置,这里自行百度一下不赘述了)。
点击右侧,创建基本任务;
取个名字“微信自动锁定”,点击下一步;
点击”一次“,下一步;
启动程序,下一步;
找到刚刚生成的exe文件,下一步;
勾选当“单机"完成时,打开此任务属性对话框,点击完成,接下来我们对计划任务设置执行周期;
依次点击,编辑触发周期
设置重复任务间隔,按照你的需求自己填,我这里设置了1分钟执行一次,设置持续时间为无限期,点击确定;
这时我们可以看到刚刚新建的”微信自动锁定“任务已经就绪,过了一分钟以后开始执行
运行成果!
当我们需要关闭这个任务,右键禁用就可以了。
有兴趣的朋友可以自行修改检测鼠标和键盘没动静就锁定。ok,自此大功告成!