Autohotkey用控制按钮替换alt和按钮?

时间:2012-10-17 08:11:12

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

如何用 CTRL + LBUTTON 替换autohotkey ALT + LBUTTON

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

这是在我们发布快捷方式时工作的代码,但我们还需要再次点击所选文本然后拖动它。

  

!LButton ::       LALT ::控制

2 个答案:

答案 0 :(得分:2)

以下是我提出的解决方案:

!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。

答案 1 :(得分:0)

这是解决方案:

    ;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