作者a0307 (戴导)
看板EzHotKey
标题[AHK-] 如何识别Line视窗发送讯息
时间Thu Mar 14 00:41:34 2024
目前希望ahk可以在我所有已开启的line聊天视窗
在对方发送讯息(图片or文字)後,自动帮我按下enter 送出已打好的讯息
请问大概有甚麽方法可以让它识别吗?
#Persistent
; 设置监听功能以检测 Line 聊天视窗的标题
SetTitleMatchMode, 2
Loop {
WinWait, Line ; 可根据 Line 聊天视窗的标题进行设置
WinGetTitle, title, A
; 设置监听功能以捕捉对方发送的讯息
WinGetClass, class, A
SetTimer, CheckForIncomingMessage, 100
; 监听 Line 聊天视窗是否被关闭,如果是,则重置 Timer
WinWaitClose, % "ahk_class " class
SetTimer, CheckForIncomingMessage, Off
}
CheckForIncomingMessage:
; 检测是否有新讯息
ControlGetText, message, Edit1, ahk_class %class%, % "ahk_class " class
; 如果有新讯息,按下 Enter 键发送预先设定的讯息内容
if (message != "") {
SendInput, Your_Predefined_Message_Here{Enter}
}
return
这段是我在Chatgpt上询问的结果
不过实测後并没有成功
WinWait, Line ; 可根据 Line 聊天视窗的标题进行设置
将这行的Line 改成对方名字(视窗名) 也没有成功
请问哪里还需要修改呢
------------------------------
ControlGetText, message, Edit1, ahk_class %class%, % "ahk_class " class
这一行的Edit1 是不是也需要修改?
https://imgur.com/UA7aiBK
但滑鼠指上新讯息的地方 Control under mouse position 都会显示空白
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.254.201.93 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/EzHotKey/M.1710348096.A.23E.html
※ 编辑: a0307 (111.254.201.93 台湾), 03/14/2024 01:12:16
※ 编辑: a0307 (111.254.201.93 台湾), 03/14/2024 02:07:35
1F:→ esouxcon: 我的想法啦 先都不要开启聊天视窗 用PixelSearch每隔几 03/14 21:22
2F:→ esouxcon: 秒去搜寻系统列的未读"N"的红色图示 当搜寻成功 点开 03/14 21:22
3F:→ esouxcon: Line 然後搜寻右边的未读绿色圈圈图示 搜寻成功 点开该 03/14 21:22
4F:→ esouxcon: 聊天视窗 比对标题 看是不是你要的那几个群组 是的话 03/14 21:22
5F:→ esouxcon: Send你要输入的讯息 否的话 Esc关掉 缺点是 不是要自动 03/14 21:22
6F:→ esouxcon: 回覆的聊天视窗 也会变已读 大概这样吧 03/14 21:22