[AHK-] 如何識別Line視窗發送訊息

作者: a0307 (便當王)   2024-03-14 00:41:34
目前希望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 改成對方名字(視窗名) 也沒有成功
請問哪裡還需要修改呢
作者: esouxcon   2024-03-14 21:22:00
我的想法啦 先都不要開啟聊天視窗 用PixelSearch每隔幾秒去搜尋系統列的未讀"N"的紅色圖示 當搜尋成功 點開Line 然後搜尋右邊的未讀綠色圈圈圖示 搜尋成功 點開該聊天視窗 比對標題 看是不是你要的那幾個群組 是的話Send你要輸入的訊息 否的話 Esc關掉 缺點是 不是要自動回覆的聊天視窗 也會變已讀 大概這樣吧

Links booklink

Contact Us: admin [ a t ] ucptt.com