如何用CTRL + LBUTTON替换自动热键ALT + LBUTTON?
我想要的是在按下 ALT + LBUTTON 并拖动时复制所选文本(拖放)(就像我们在 Windows 中使用 CTRL + LBUTTON 并拖动所选文本时所做的那样)
这是当我们释放快捷方式时工作的代码,但我们必须再单击一次选定的文本然后拖动它。
!LButton:: Lalt::Control
如何用CTRL + LBUTTON替换自动热键ALT + LBUTTON?
我想要的是在按下 ALT + LBUTTON 并拖动时复制所选文本(拖放)(就像我们在 Windows 中使用 CTRL + LBUTTON 并拖动所选文本时所做的那样)
这是当我们释放快捷方式时工作的代码,但我们必须再单击一次选定的文本然后拖动它。
!LButton:: Lalt::Control
这是我想出的解决方案:
!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。
这是解决方案:
;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