本帖最后由 随便注册 于 2018-4-20 17:18 编辑
即使设置了LeftDown,也是等左键抬起才暂停,在抬起前如果移动了鼠标就转为拖动窗口,就不暂停了。还有PotPlayer也是这样。
====================
“普通”模式,只要设为Left Down就行,“最小”、“简洁”改Left Down、Left Up没区别,都是“抬起”生效。应该是只剩播放区可以Left Down后拖拽,暂停就只能用Left Up了。
用AutoHotKey劫持鼠标,算是解决了吧,只是左键点击多频繁啊。
由于性能的原因, #IfWin 不会持续监视指定窗口的激活或存在. 相反地, 它只会在您输入热键或热字串时检查匹配窗口. 如果匹配窗口不存在,那么您的键击或鼠标点击会原样传递给活动窗口.
有个问题,原想让AHK立即抬起左键(物理左键此时仍按着,但对软件来说已经抬起了),但物理左键抬起时仍有效,于是刚暂停的又给播放了。
所以必须先在选项——快捷键里取消左键,仅保留空格键。
如果指定#IfWinActive ahk_class MPC-BE,从别的窗口点击MPC-BE时,首次点击不能暂停/播放,因为这次点击时“激活窗口”还不是它。可以取消,完全由“控件类名”判断。
按住Ctrl、Shift、Alt、Win任一键可拖动窗口,大概是AHK认为这是另一个组合热键了
- ;仅在指定类窗口生效
- #IfWinActive ahk_class MPC-BE
- ;~表示不拦截热键本身,热键原作用仍在
- ;不加~则左键就像消失了,除非另加“点击”代码
- ;不加~还会影响在标题栏、状态栏处拖拽,也不能点击切换其它程序,因为只有切出去才能使热键失效,但热键不失效就切不出去
- ~LButton::
- MouseGetPos, , , , 控件类名
- if InStr(控件类名, "Afx", True)
- {
- Click up Left
- Sleep, 100
- Send {Space}
- }
- return
复制代码
MPC-HC倒是简单,它要求“抬起”前必须有配对的“按下”,软件“抬起”紧接物理鼠标“抬起”,中间没有“按下”,则第二个“抬起”无效。MPC-BE只管检测“抬起”?
不过它的“最小”、“简洁”不好看,所以用不上
另外1.7.6时默认LeftDown,之后就改成默认LeftUp了,使用旧配置的由于以前没设置,就会变成LeftUp
- #IfWinActive ahk_class MediaPlayerClassicW
- ~LButton::
- MouseGetPos, , , , 控件类名
- if InStr(控件类名, "Afx", True)
- {
- Click up Left
- }
- return
复制代码
====================
为了不让热键白白检测——左键太常用了——做了个exe代替真的MPC-BE.exe,只有MPC-BE运行时才有热键
|