[AHK-] 如何关闭上一个视窗?

楼主: kesdoputr (k7)   2019-02-08 19:05:05
如题,因为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
}
楼主: kesdoputr (k7)   2019-02-09 03:05:00
突然发现这个需求不用这么麻烦,感觉就先在前面get ID然后最后再把这个ID给关掉就好了....明天再来测试

Links booklink

Contact Us: admin [ a t ] ucptt.com