Autohotkey 中文论坛

完整版: 关于快捷键控制快捷键功能启动
你目前正在浏览的是简化版. 请点击这里浏览完整版
请问,如何通过快捷键空另一组快捷键的功能启用和关闭?
举个例子 #s #b
win+b这个快捷键平时不用
需要用的时候 我想通过 win+s启动 win+b的功能
然后再用win+s win+b的功能就没了
望诸位高人指点



问题解决了:用Hotkey,#%key%,Toggle
Toggle:开的转台下转为关 关的状态下转为开
代码如下
#f::
key=g
Gosub kkk
return
#g::
msgbox , , ,1111
return

kkk:
Hotkey,#%key%,Toggle
return

因为想一个开关控制很多快捷键
用了一个过程 感觉上算比较简练了 不知道还有没有更简单的
另外感谢大家的帮助

[ 本帖最后由 xxhgnxx 于 2009-4-9 17:04 编辑 ]
看看 IF ,变量和表达式 中的 求反操作符, 和 Hotkey command 命令
IF 我猜我会


求反操作符
Hotkey command
这俩我得在帮助里面查查
:lol 我去看看
问题继续
Hotkey, IfWinActive, ahk_class Notepad
Hotkey, ^!c, MyLabel
return

这个是 在记事本激活的状态下 激活快捷键 ^!c 对应功能是 MyLabel 函数
我理解的正确否?

能不能激活多个快捷键? 而且快捷键的功能都不同。
我现在想激活大概30个不同功能的快捷键
应该不用反复写30遍这个代码吧
我改用
#IfWinActive ahk_class Notepad
……
……
#IfWinActive

解决了4楼30个快捷键的问题

不过
Hotkey command
还是没懂 还在研究
呃……
再顶顶
1楼的问题还是没解决……
求反操作符
在帮助里面的哪个位置?
在 "变量和表达式" 里面
a:=!a 就是求反了 根据这个来判断 应该 开启 或关闭!!
a:=!a 求反 不知道怎么用……
能再具体点吗……

我写的这样一个脚本能实现一楼的功能
a=0
#s::
if a=0
{
Hotkey, #b, off
a=1
return
}
if a=1
{
Hotkey, #b, on
a=0
return
}
return
#b::
msgbox , , ,1111
return
但是又回到4楼的问题了
如果是n个快捷键……就要写n个Hotkey, , on 和Hotkey, ,off 了
有没有别的方法?
找到了另一种方法
#f::
key=g
Gosub kkk
return
#g::
msgbox , , ,1111
return

kkk:
Hotkey,#%key%,Toggle
return

问题算是解决了
引用:原帖由 xxhgnxx 于 2009-4-9 13:07 发表 [Image: back.gif]
...n个快捷键……就要写n个Hotkey, , on 和Hotkey, ,off 了...
试下 Loop, Parse ~
P.S. 或者试下用 Suspend + Permit
参考网址