作者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/m.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