分享一个右键关闭标签的手势吧
其他手势可能也能参考,具体思路是这样的
如果标签的classNN不同则判断当前classNN
比方说 ie, notepad++,Directory Opus
还有一种是classNN不能准确找出标签位置的,只能判断标签坐标了
比方说 chrome,vscode
这种有副作用,因为一般会判断高度,阀值内整个宽度都会响应,即使没有标签
且可能不同用户数值不一样需要自己去量.
然后在当前鼠标所在的坐标发送中键(绝大部分标签都能用此方法关闭)即可
我这有个后续是假如会弹出保存框(比方说notepadd++ vscode这类编辑器 )自动按否
参考代码:
;右键单击,在符合条件的窗口右键关闭标签,否则弹出右键菜单
_RB()
{
if g.exe = "dopus.exe" && (g.classnn == "dopus.tabctrl1" || g.classnn == "dopus.tabctrl2")
return CloseTab()
else if g.exe = "Notepad++.exe" && g.ClassNN = "SysTabControl325"
return CloseTab(true)
else if g.exe = "iexplore.exe" && g.classnn = "DirectUIHWND1"
return CloseTab()
else if g.classnn = "Intermediate D3D Window1" ;chrome或VSCode
{
CoordMode("Mouse", "Client")
MouseGetPos(, &y)
if (g.exe = "Code.exe" && y > 30 && y < 60) ;|| (g.exe = "chrome.exe" && y > 10 && y < 40) ;注释掉chrome是因为我用百分浏览器自带了此功能
return CloseTab(g.exe = "Code.exe" ? true : false)
}
G_ExitGesture(true)
CloseTab(hasCancal := false)
{
Click("M")
if hasCancal
ClickCancel()
}
;延时300秒点击 #32770 的取消按键
ClickCancel()
{
SetTimer(CancelTimer, -200)
return true
CancelTimer()
{
SetControlDelay(-1)
if WinActive(title := "ahk_class #32770 ahk_exe " g.exe)
ControlClick("Button2", title, , , 2, "NA")
}
}
}
如图
自己为软件添加了个统计功能…