有没有一种不特殊就能使用captcha的方式?(firefox)

RamonUnch/AltSnap: Maintained continuation of Stefan Sundin’s AltDrag (github.com)

有没有 win 软件可以实现按住 alt 随便点个窗口位置即可拖动窗口的? - 问题求助:red_question_mark: - 小众软件官方论坛 (appinn.net)

AltSnap挺好用的,可以设置alt/win + 鼠标滚轮或按键缩放窗口

我自用的ahk,是按住Win键拖拽窗口(这部分用的是@ xiaokonglong分享的代码),鼠标左键双击最大化/还原之间切换,滚轮缩放窗口这些功能

其他修饰键可以自行修改


SetBatchLines -1
ListLines Off

#SingleInstance, Force
SendMode Input

;==================================================
;** 按住 Win+鼠标左键 移动窗口
;** 按住 Win+鼠标左键 双击可以切换窗口最大化和还原
;==================================================

FS(hwnd:="") {
  static A := []
  if (!hwnd)
    MouseGetPos,,, hwnd
  Win := "ahk_id " hwnd
  WinGetPos, X, Y, W, H, % Win
  WinGet, IsMaxed, MinMax, % Win
  if (A[Win, "Maxed"] := IsMaxed = 1 ? true : false)
    WinRestore, % Win
  else
    WinMaximize, % Win
  A[Win, "X"] := X, A[Win, "Y"] := Y, A[Win, "W"] := W, A[Win, "H"] := H
}



#LButton::
  If (A_PriorHotkey = "#LButton" && A_TimeSincePriorHotkey < 200) {
    FS()
  } else {
    CoordMode, Mouse ; Switch to screen/absolute coordinates.
    MouseGetPos, EWD_MouseStartX, EWD_MouseStartY, EWD_MouseWin
    WinGetPos, EWD_OriginalPosX, EWD_OriginalPosY,,, ahk_id %EWD_MouseWin%
    WinGet, EWD_WinState, MinMax, ahk_id %EWD_MouseWin% 
    if EWD_WinState = 0 ; Only if the window isn't maximized 
      SetTimer, EWD_WatchMouse, 10 ; Track the mouse as the user drags it.
    return
  }
return

EWD_WatchMouse:
  GetKeyState, EWD_LButtonState, LButton, P
  if EWD_LButtonState = U ; Button has been released, so drag is complete.
  {
    SetTimer, EWD_WatchMouse, off
    return
  }
  GetKeyState, EWD_EscapeState, Escape, P
  if EWD_EscapeState = D ; Escape has been pressed, so drag is cancelled.
  {
    SetTimer, EWD_WatchMouse, off
    WinMove, ahk_id %EWD_MouseWin%,, %EWD_OriginalPosX%, %EWD_OriginalPosY%
    return
  }
  ; Otherwise, reposition the window to match the change in mouse coordinates
  ; caused by the user having dragged the mouse:
  CoordMode, Mouse
  MouseGetPos, EWD_MouseX, EWD_MouseY
  WinGetPos, EWD_WinX, EWD_WinY,,, ahk_id %EWD_MouseWin%
  SetWinDelay, -1 ; Makes the below move faster/smoother.
  WinMove, ahk_id %EWD_MouseWin%,, EWD_WinX + EWD_MouseX - EWD_MouseStartX, EWD_WinY + EWD_MouseY - EWD_MouseStartY
  EWD_MouseStartX := EWD_MouseX ; Update for the next timer-call to this subroutine.
  EWD_MouseStartY := EWD_MouseY
return

;==================================================
;** 按住 Win鼠标滚轮 可以调整当前激活窗口的以窗口中心缩放
;==================================================
#WheelUp::
  WinGet, EWD_MouseWin, ID, A
  WinGetPos, EWD_WinX, EWD_WinY, EWD_WinW, EWD_WinH, ahk_id %EWD_MouseWin%
  EWD_WinCX := EWD_WinX + EWD_WinW / 2
  EWD_WinCY := EWD_WinY + EWD_WinH / 2
  EWD_NewWinW := EWD_WinW * 1.13
  EWD_NewWinH := EWD_WinH * 1.13
  EWD_NewWinX := EWD_WinCX - EWD_NewWinW / 2
  EWD_NewWinY := EWD_WinCY - EWD_NewWinH / 2
  WinMove, ahk_id %EWD_MouseWin%,, %EWD_NewWinX%, %EWD_NewWinY%, %EWD_NewWinW%, %EWD_NewWinH%
return

#WheelDown::
  WinGet, EWD_MouseWin, ID, A
  WinGetPos, EWD_WinX, EWD_WinY, EWD_WinW, EWD_WinH, ahk_id %EWD_MouseWin%
  EWD_WinCX := EWD_WinX + EWD_WinW / 2
  EWD_WinCY := EWD_WinY + EWD_WinH / 2
  EWD_NewWinW := EWD_WinW * 0.87
  EWD_NewWinH := EWD_WinH * 0.87
  EWD_NewWinX := EWD_WinCX - EWD_NewWinW / 2
  EWD_NewWinY := EWD_WinCY - EWD_NewWinH / 2
  WinRestore, ahk_id %EWD_MouseWin%
  WinMove, ahk_id %EWD_MouseWin%,, %EWD_NewWinX%, %EWD_NewWinY%, %EWD_NewWinW%, %EWD_NewWinH%
return