Autohotkey切换鼠标左键和右键

时间:2013-08-13 04:00:49

标签: mouse autohotkey

我是windows8用户,我试图只在Irfanview(图片查看器应用程序)内部左右切换,因为默认的平底锅总是鼠标按钮,但在irfan视图中是鼠标右键,所以我想每当我按住鼠标左键,它会向下按住鼠标右键。我尝试过这个宏:它在Irfanview中运行,但也会影响Windows桌面,有时还会影响其他一些程序。

#NoEnv
#SingleInstance, Force
#Persistent
#InstallMouseHook

#ifWinActive ahk_class IrfanView
LButton::RButton
RButton::LButton

#IfWinActive ahk_class FullScreenClass
LButton::RButton
RButton::LButton

有人可以给我一些建议吗,pehaps是有条件的吗?

谢谢高级。

1 个答案:

答案 0 :(得分:1)

您看到的行为很可能是因为您选择的某个窗口已被激活,而您正试图点击另一个窗口。

解决方法是让你的热键使用鼠标所在的窗口类而不是活动窗口。我已经包含了一个函数以及如何在下面使用它:

#If (MouseIsOverClass("IrfanView") or MouseIsOverClass("FullScreenClass")) and !MouseIsOverControl("IrfanViewerClass1")
    LButton::RButton
    RButton::LButton

MouseIsOverClass(WinClass) 
{
    MouseGetPos,,,win
    WinGetClass,class,ahk_id %win%
    return (class = winClass)
}

MouseIsOverControl(winControl)
{
    MouseGetPos, , , , Control
    return (Control = winControl)
}

编辑:请注意,#If仅在AHK_L中受支持。

Documentation