[AHK-] 如何關閉上一個視窗?

看板EzHotKey作者 (k7)時間6年前 (2019/02/08 19:05), 編輯推噓0(004)
留言4則, 1人參與, 6年前最新討論串1/1
如題,因為outlook在回信的時候原視窗還會在,目前我是用AHK寫了 送了ctrl+shift+r(全部回覆)之後,送一個alt+tab回到上一個視窗 然後再送一個Esc把原信件視窗關掉,想請問一下這個動作沒有辦法 再直接一點?可以不用切換就直接關掉前一個active window? 我google了一下有找到一個感覺比較接近的如下: SetTimer, PreviousID, 300 PreviousID: { Previous_ID := 0 loop { WinGet, Current_ID, ID, A WinWaitNotActive, ahk_id %Current_ID% Previous_ID := Current_ID } return } #Z::WinClose ahk_exe outlook.exe ahk_id %Previous_ID% 單純使用的話是ok的,按熱鍵會直接把previous id的那個視窗關掉 可是我連本來送ctrl+shift+r的寫在一起的時候就會失敗 我有一個outlook主視窗①、一個剛開起來信件的視窗②,我希望的效果是 直接幫我按全部回覆的熱鍵之後(這時會多一個回信的視窗③),然後他幫我 把那封信的原視窗②給關掉,不過我現在這樣寫,他會把我的outlook主視窗① 給直接關了XD,想請問一下我是不是有什麼地方沒有注意到?謝謝。 CapsLock & q:: { send, ^+r sleep, 1000 WinClose ahk_exe outlook.exe ahk_id %Previous_ID% ;我這邊改成剛剛測試ok的熱鍵#Z也效果也是一樣 return } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.71.217.251 ※ 文章網址: https://www.ptt.cc/bbs/EzHotKey/M.1549623908.A.002.html

02/09 03:05, 6年前 , 1F
突然發現這個需求不用這麼麻煩,感覺就先在前面get ID
02/09 03:05, 1F

02/09 03:06, 6年前 , 2F
然後最後再把這個ID給關掉就好了....明天再來測試
02/09 03:06, 2F

02/09 22:58, 6年前 , 3F
嗯結果我的需求用不著什麼loop,前面先get一下id
02/09 22:58, 3F

02/09 22:58, 6年前 , 4F
最後再把那個id直接關掉就好了
02/09 22:58, 4F
文章代碼(AID): #1SNM9a02 (EzHotKey)
文章代碼(AID): #1SNM9a02 (EzHotKey)