如何用按键精灵实现定时在微信群里发信息

作者:魔道寒武纪     信息来源:魔道笔记     发布时间:2024-12-09     点击数:11    

以下是几种使用按键精灵实现定时在微信群里发信息的方法:


方法一:利用窗口句柄和坐标定位

1. 提前准备:前一天晚上将需要发送的内容粘贴到每个群的对话框中,但不发送.

2. 查找窗口句柄:使用 `Plugin.Window.Find` 函数查找微信聊天窗口的句柄。例如,如果群聊窗口的类名为 `"ChatWnd"`,标题为 `"测试1群"`,则可以使用以下代码查找句柄 :

=====================================

Hwnd = Plugin.Window.Find("ChatWnd", "测试1群")

=====================================

3. 获取窗口大小和发送按钮坐标:通过 `Plugin.Window.GetClientRect` 函数获取窗口的客户区大小,再根据窗口大小计算出发送按钮的坐标。发送按钮通常位于窗口的右下角,其坐标相对于窗口的右下角是固定的。以下是示例代码 :

=====================================

sRect = Plugin.Window.GetClientRect(Hwnd)

dim MyArray1

MyArray1 = Split(sRect, "|")

L = Clng(MyArray1(0)): T = Clng(MyArray1(1))

R = Clng(MyArray1(2)) : B = Clng(MyArray1(3))

X = R L 70

Y = B T 30

=====================================

4. 设置定时条件并发送:使用循环和判断语句来定时执行发送操作。例如,判断当前系统时间是否为设定的发送时间,如果是,则点击发送按钮。以下是完整的示例代码 :

=====================================

Rem 循环

If HOUR(NOW) = "7" Then 

    '第一个群

    Hwnd = Plugin.Window.Find("ChatWnd", "测试1群")

    sRect = Plugin.Window.GetClientRect(Hwnd)

    dim MyArray1

    MyArray1 = Split(sRect, "|")

    L = Clng(MyArray1(0)): T = Clng(MyArray1(1))

    R = Clng(MyArray1(2)) : B = Clng(MyArray1(3))

    X = R L 70

    Y = B T 30

    Call Plugin.Bkgnd.LeftClick(Hwnd, X, Y)

    '第二个群,内容同上

    Hwnd = Plugin.Window.Find("ChatWnd", "测试2群")

    sRect = Plugin.Window.GetClientRect(Hwnd)

    dim MyArray2

    MyArray2 = Split(sRect, "|")

    L = Clng(MyArray2(0)): T = Clng(MyArray2(1))

    R = Clng(MyArray2(2)) : B = Clng(MyArray2(3)) 

    X = R L 70

    Y = B T 30

    Call Plugin.Bkgnd.LeftClick(Hwnd, X, Y)

Else 

    Goto 循环

End If

=====================================


方法二:使用定时器控件

1. 新建脚本并设置定时器:打开按键精灵,点击“新建脚本”,然后在脚本编辑界面中点击“控制命令”,创建一个表达式为 `true` 的循环命令。接着点击“源文件”,在表达式后面创建两个变量“小时”“分钟”,并使用实时语句 `Now` 获取当前时间。例如,以下是设置定时为每天 12 点 30 分发送的代码部分 :

=====================================

Rem 循环

Dim 小时, 分钟

小时 = Hour(Now)

分钟 = Minute(Now)

If 小时 = 12 And 分钟 = 30 Then

    Exit Do

Else

    Delay 60000 ' 每分钟检查一次时间,可根据需要调整延迟时间

End If

Loop

=====================================

2. 添加发送消息的操作:在定时器的判断条件满足后,即到达设定的发送时间时,添加发送微信消息的操作。可以使用 `SayString` 函数输入消息内容,然后模拟按下回车键发送消息。假设要发送的消息为“定时测试消息”,则代码如下:

=====================================

SayString "定时测试消息"

KeyPress 13, 1

=====================================

3. 保存并运行脚本:将脚本保存为 `.ks` 文件,并设置好相应的快捷键以便启动脚本。在到达设定的时间时,按下快捷键即可自动执行发送消息的操作.


方法三:通过录制操作实现

1. 打开按键精灵并开始录制:登录按键精灵后,点击“录制”按钮,进入录制界面.

2. 切换到微信并进行发送操作:在录制过程中,切换到微信客户端,找到要发送消息的微信群,手动输入消息内容并点击发送按钮,按键精灵会记录下整个操作过程中的键盘鼠标动作.

3. 停止录制并设置定时:完成消息发送操作后,点击录制界面中的“停止”按钮,然后在脚本编辑界面中对录制的脚本进行编辑。可以在脚本开头添加定时判断的代码,如上述方法二中的定时判断语句,来实现定时发送的功能.

4. 保存并执行脚本:保存编辑好的脚本,并通过快捷键或其他方式启动脚本,使其在设定的时间自动执行录制的发送消息操作.