我是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是有条件的吗?
谢谢高级。
答案 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中受支持。