作者kesdoputr (k7)
看板EzHotKey
標題[AHK-] 如何關閉上一個視窗?
時間Fri Feb 8 19:05:05 2019
如題,因為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://webptt.com/m.aspx?n=bbs/EzHotKey/M.1549623908.A.002.html
1F:→ kesdoputr: 突然發現這個需求不用這麼麻煩,感覺就先在前面get ID 02/09 03:05
2F:→ kesdoputr: 然後最後再把這個ID給關掉就好了....明天再來測試 02/09 03:06
3F:→ kesdoputr: 嗯結果我的需求用不著什麼loop,前面先get一下id 02/09 22:58
4F:→ kesdoputr: 最後再把那個id直接關掉就好了 02/09 22:58