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