早教吧 育儿知识 作业答案 考试题库 百科 知识分享

autohotkey排除多个窗口排除除了类目ahkclassA和ahkclassB的窗口单个窗口的判断我是这样写的#IfwinNotActive,ahkclassAx::{send,^x}return#IfWinActive;下面的代码不使用任何窗口过滤如果要排除多个应

题目详情
autohotkey排除多个窗口 排除除了类目 ahk_class A 和ahk_class B的窗口
单个窗口的判断我是这样写的
#IfwinNotActive,ahk_class A
x::
{
send,^x
}
return
#IfWinActive ;下面的代码不使用任何窗口过滤
如果要排除多个应该怎么写呢?我试过 and or 不能用
不是改判断语句是 or 否
采用 group窗口组对我这边不能使用(因为这个语句只能处于程序开始位置)
现在我想用 逐个判断的方式
进行判断排除
为什么用 IfwinNotActive 因为大部分窗口都是运行使用的
只有部分目前是2个窗口不能使用指定快捷键
我想如果可以同IF一样
IF(ahk_calss窗口类名 and ahk_calss窗口类名B)
{
send,^x
}
这样就可以实现我想要的功能了
但是#IFwinnotActive 我这边测试的不支持 and 语句
官方文档中提示
#IFwinActive 可以这样用
#IFwinActive ahk-class A
c::
#IFwinActive ahk_class B
c::
send,c
#IFwinActive
但用到#IFwinnotactive这样用就不行了
▼优质解答
答案和解析
GroupAdd,ABGroup ,ahk_class A
GroupAdd,ABGroup ,ahk_class B
#IfWinActive ,ahk_group ABGroup
!x::
{
Send,^x
}
Return
#IfWinActive
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;试一试这个呢