【问题标题】:Autohotkey replace alt and lbutton with control lbutton?Autohotkey用控制lbutton替换alt和lbutton?
【发布时间】:2012-10-17 08:11:11
【问题描述】:

如何在自动热键 ALT + LBUTTON 中替换为 CTRL + LBUTTON

我想要的是在按下 ALT + LBUTTON 并拖动时复制所选文本(拖放)(就像我们在 Windows 中使用 CTRL + LBUTTON 并拖动所选文本时所做的那样)

这是在我们释放快捷方式时起作用的代码,但我们必须再单击一次选定的文本,然后拖动它。

!LButton:: Lalt::控制

【问题讨论】:

    标签: drag-and-drop keyboard-shortcuts autohotkey


    【解决方案1】:

    这是我想出的解决方案:

    !LButton::
        Send {Ctrl Down}{LButton Down}
        dragging := 1
        return
    
    ~*LButton::
        if dragging
            Send {Ctrl Up}{LButton Up}
        dragging := 0
        return
    

    一开始我尝试使用鼠标按钮的GetKeyState(),但我发现它不可靠。

    还值得注意的是,!LButton 的行为与 Ctrl 修饰符不同。它们必须同时按下,而不是 Alt 和 LButton。

    【讨论】:

    • 我做了一个小改动。再试一次。您应该能够突出显示文本,按 Alt+LeftMouse 并拖动。然后,一旦您再次单击鼠标左键,它会将文本拖放到您指向的位置。
    • thnx man 但仍然无法工作它显示“+”但是当我单击 lbutton 其他人(拖动后)它想要复制所选项目
    【解决方案2】:

    这里是解决方案:

        ;CoordMode, Mouse, Screen
    
    ~!LButton::
        ;MouseGetPos, begin_x, begin_y
        while GetKeyState("LButton")
        {
            ;MouseGetPos, x, y
            Send {ctrl down}
            ;ToolTip, % begin_x ", " begin_y "`n" Abs(begin_x-x) " x " Abs(begin_y-y)
            Sleep, 10
        }
        ;ToolTip
    Send {Ctrl up}
    return
    

    【讨论】:

      猜你喜欢
      • 2012-11-19
      • 2020-03-03
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多