不能动态创建已存在的热键

遇到了问题?请先进行搜索(中文和英文),然后在此提问

Moderators: tmplinshi, arcticir

bookworm99
Posts: 1
Joined: 23 Dec 2023, 21:07

不能动态创建已存在的热键

23 Dec 2023, 21:34

各位好,请教各位前辈关于动态创键热键的一个问题。在1.X的版本中,当我在SCRIPT中定义了一个热键例如以下的右CTRL键之后,我可以动态再创建一个相同的热键(右CTRL键),然后在动态创建的热键中定义功能,如此一来我就可以连按两次右CTRL以启动此功能,然后用HotKey, RCtrl,RCtrlaction,off将其关闭,执行起来都没有任何问题。然而在2.0的版本中(如下SCRIPT),其运作会有些问题。我HotKey动态创建了四个热键并分别定义其功能,第一个热键与启动此段SCRIPT的按键是相同的(RCtrl), 在每个功能定义的最后都会呼叫RCtrloff来将全部创建出来的热键关闭。执行时,每当我执行了某个动态热键之后,我就不能再度用RCtrl键启动这段SCRIPT了(因为已经被RCtrloff里面的HotKey指令给关闭了),困扰了许久,不禁想到,难道2.0版本之后就不允许再动态创建已存在的热键吗?

Code: Select all

RCtrl::
{
    Hotkey 'RCtrl',RCtrlaction,'on'
    Hotkey 'AppsKey',AppsKeyaction,'on'
    Hotkey 'RShift',RShiftaction,'on'
    Hotkey 'RAlt',RAltaction,'on'
}
    RCtrlaction(*)
    {
        MsgBox "this is a test window"
        RCtrloff
    }
    AppsKeyaction(*)
    {
        send "{Left}"
        RCtrloff
	}
    RShiftaction(*)
    {
        send "{Left 2}"
        RCtrloff
	}
    RAltaction(*)
    {
        send "{Left 3}"
        RCtrloff    
	}
    RCtrloff()
    {
        Hotkey 'RCtrl',RCtrlaction,'off'
        Hotkey 'RAlt',RAltaction,'off'
        Hotkey 'AppsKey',AppsKeyaction,'off'
        Hotkey 'RShift',RShiftaction,'off'
    }

Return to “请求帮助”

Who is online

Users browsing this forum: No registered users and 113 guests