【问题标题】:With AutoHotKey, how to use ctrl+alt in hotkey without system seeing them as down when sending other keys?使用 AutoHotKey,如何在热键中使用 ctrl+alt 而不会在发送其他键时系统将其视为关闭?
【发布时间】:2014-10-31 08:03:32
【问题描述】:

我正在尝试将 ctrl+alt+d 映射到 delete。不幸的是,当我按下该组合时,系统会看到 ctrl+alt+delete,这自然会调出锁定屏幕。

我已经尝试过让 ctrlalt 键查找系统,但它不起作用:

^!d::Send {Alt Up}{Ctrl Up}{Delete}

我尝试将~$ 放在热键前面,但这也不起作用。

我意识到我可以使用KeyWait 来等待修改键被释放:

~^!d::
KeyWait Control
KeyWait Alt
Send {Delete}
return

但是后来我不能反复按ctrl+alt+delete快速删除字符。我必须在每次按下之间释放修饰键,这很尴尬。

我意识到我可以模拟向前删除,在右侧选择一个后跟一个退格键:

^!d::Send {Shift Down}{Right}{Shift Up}{Backspace}

但这有点笨拙,尽管它确实可以在不释放修饰符的情况下工作。开始觉得没有办法做到这一点,所以任何帮助都将不胜感激。

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    您可以尝试 SendPlay,因为它会创建一系列事件(消息),这些事件(消息)直接流向活动窗口,而不是执行它们的原生操作系统功能。

    ^!d::Sendplay {Delete}
    

    文档链接http://ahkscript.org/docs/commands/Send.htm#SendPlayDetail

    希望对你有帮助

    【讨论】:

    • 谢谢,成功了。我不确定为什么我没有尝试过 SendPlay,尽管文档说“SendInput 和 SendPlay 使用与 Send 相同的语法,但通常更快、更可靠。”
    猜你喜欢
    • 2013-11-18
    • 2018-03-18
    • 2013-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    相关资源
    最近更新 更多