Autohotkey用控制lbutton替换alt和lbutton?

Posted

技术标签:

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

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

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

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

!LButton:: Lalt::控制

【问题讨论】:

【参考方案1】:

这是我想出的解决方案:

!LButton::
    Send Ctrl DownLButton Down
    dragging := 1
    return

~*LButton::
    if dragging
        Send Ctrl UpLButton 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

【讨论】:

以上是关于Autohotkey用控制lbutton替换alt和lbutton?的主要内容,如果未能解决你的问题,请参考以下文章

AutoHotKey 初探

AutoHotkey 初探

用AutoHotkey删除Word里图片后面的特定字符(Word查找图片的BUG)

AutoHotkey 使用笔记

autohotkey 如何设置多键位和一些组合键

如何强制 Windows 忽略 AutoHotKey 并将该热键直接传递给活动窗口?