如何实现浏览器右键关闭标签?

功能建议 · 486 次浏览
janv 创建于 12天16小时前

如果能够实现这个功能,就不需要再使用其他的手势软件了

指定浏览器标签区域的代码是什么样的?替换右键和中键的功能在浏览器标签区域,就可以实现了,但是不懂代码


回复内容
CL 12天16小时前
#1

什么手势软件,怎么实现的右键关闭标签呢?

目前quicker里一般是用轮盘或手势图形来关闭的。


AHK和StrokesPlus都可以实现右键关闭标签,不知道quicker可不可以用代码实现

janv 12天15小时前


CL 12天13小时前
CL 最后更新于 12天13小时前
回复 janv :

方便的话贴个AHK的代码和SP的设置界面看看,是通过什么方式判断是点击的标签呢?


CL 12天13小时前

#NoEnv

#SingleInstance force


IniRead, doubleclick, settings.ini, option, doubleclick,Check

IniRead, scrolltab, settings.ini, option, scrolltab,Check

IniRead, rightclick, settings.ini, option, rightclick,Check


EmptyMem()

menu, tray, NoStandard

menu, tray, add, 退出

menu, tray, add ;分割线

menu, tray, add, 启用双击关闭标签页

menu, tray, add, 启用滚轮切换标签页

menu, tray, add, 启用右键关闭标签页

menu, tray, %doubleclick%, 启用双击关闭标签页

menu, tray, %scrolltab%, 启用滚轮切换标签页

menu, tray, %rightclick%, 启用右键关闭标签页

return


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

退出:

ExitApp

return

启用双击关闭标签页:

if doubleclick<>Check

{

menu, tray, Check, 启用双击关闭标签页

doubleclick=Check

}

Else

{

menu, tray, unCheck, 启用双击关闭标签页

doubleclick=unCheck

}

IniWrite, %doubleclick%, settings.ini, option, doubleclick

EmptyMem()

return


启用滚轮切换标签页:

if scrolltab<>Check

{

menu, tray, Check, 启用滚轮切换标签页

scrolltab=Check

}

Else

{

menu, tray, unCheck, 启用滚轮切换标签页

scrolltab=unCheck

}

IniWrite, %scrolltab%, settings.ini, option, scrolltab

EmptyMem()

return


启用右键关闭标签页:

if rightclick<>Check

{

menu, tray, Check, 启用右键关闭标签页

rightclick=Check

}

Else

{

menu, tray, unCheck, 启用右键关闭标签页

rightclick=unCheck

}

IniWrite, %rightclick%, settings.ini, option, rightclick

EmptyMem()

return


#IfWinActive ahk_class Chrome_WidgetWin_1

 ~$WheelDown::

 ~$WheelUp::

   if scrolltab=Check

  {

    MouseGetPos,, ypos

    If (ypos>40) Or (ypos<0)

    Return

    IfEqual,A_ThisHotkey,~$WheelDown, Send ^{PgDn}

    Else Send ^{PgUp}

EmptyMem()

  }

 Return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  ~LButton::

  if doubleclick=Check

  {

    MouseGetPos,xpos, ypos

    WinGet,Mom,MinMax

    If ((ypos>45)And(Mom<1))Or((ypos>28)And(Mom>0)) Or (ypos<0)

    Return

    If (A_PriorHotkey="~LButton") and (A_TimeSincePriorHotkey<200)

    send {click middle}

EmptyMem()

      }

 Return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 ~RButton Up::

  ~RButton::

     if rightclick=Check

  {

    MouseGetPos,xpos, ypos

    WinGet,Mom,MinMax

    If ((ypos>45)And(Mom<1))Or((ypos>28)And(Mom>0)) Or (ypos<0)

    Return

    if  GetKeyState("1")

        Return

    IfEqual,A_ThisHotkey,~RButton, Send {Click Middle}

                                 Else Send {Click middle}

EmptyMem()

                                  }

 Return

#IfWinActive


EmptyMem(PID="AHK Rocks"){

    pid:=(pid="AHK Rocks") ? DllCall("GetCurrentProcessId") : pid

    h:=DllCall("OpenProcess", "UInt", 0x001F0FFF, "Int", 0, "Int", pid)

    DllCall("SetProcessWorkingSetSize", "UInt", h, "Int", -1, "Int", -1)

    DllCall("CloseHandle", "Int", h)

}


janv 12天13小时前
Cesaryuan 12天14小时前
#2



这是在整个页面都可以关闭,我想要右键单击标签关闭

janv 12天13小时前
回复 janv :

可以在组合动作里面判断

Cesaryuan 12天13小时前
回复 Cesaryuan :

请问怎么判断标签栏?

janv 12天13小时前
回复 janv :

看你发的AHK代码是通过判断鼠标位置来判断的,这就太简单了,你要还是没思路我给你写一个

Cesaryuan 12天13小时前
回复 Cesaryuan :

AHK代码贴在上面了,我自己看不懂

janv 12天13小时前

坐等,虽然我用不上。

紫cm煞 12天13小时前
回复主贴