高亮鼠标下的控件区域(全屏幕)

; 高亮鼠标下的控件区域(全屏幕).ahk

#NoEnv
#SingleInstance Force
CoordMode, ToolTip, Screen

; ------------ 创建主窗口
  Gui, +LastFound +hwndhgui1
  WinSet, Transparent, 180
  Gui, Color, Black, Blue
  Gui, Font, cYellow s12
  Gui,  -Caption

  Gui, Add, Text,, 窗口ID:
  Gui, Add, Edit, ys w100 cWhite vWinID
  Gui, Add, Text, ys, 控件:
  Gui, Add, Edit, ys w200 cWhite vCtrlID

  Gui, Add, Text, xm 0x10 w700 h5 ; -------------------------
  Gui, Add, Text, xm Section, WinX:
  Gui, Add, Edit, ys cWhite vWinX w100
  Gui, Add, Text, ys, WinY:
  Gui, Add, Edit, ys cWhite vWinY w100
  Gui, Add, Text, ys, WinW:
  Gui, Add, Edit, ys cWhite vWinW w100
  Gui, Add, Text, ys, WinH:
  Gui, Add, Edit, ys cWhite vWinH w100

  Gui, Add, Text, xm 0x10 w700 h5 ; -------------------------
  Gui, Add, Text, xm Section, cX:
  Gui, Add, Edit, ys cWhite vcX w100
  Gui, Add, Text, ys, cY:
  Gui, Add, Edit, ys cWhite vcY w100
  Gui, Add, Text, ys, cW:
  Gui, Add, Edit, ys cWhite vcW w100
  Gui, Add, Text, ys, cH:
  Gui, Add, Edit, ys cWhite vcH w100

  Gui, Add, Button, x700 gGuiClose -Theme 0x8000, 退出


; ------------ 创建透明遮罩窗口
  Gui, Trans: +ToolWindow -Caption +AlwaysOnTop  +LastFound +hwndhTrans
  Gui, Trans: Color, Green
  WinSet, Transparent, 150
  WinSet, ExStyle, +0x20     ; 鼠标穿透

Gui, Show, x0 y0
SetTimer, highlight_ctrl, 100

OnMessage(0x0201, "WM_LBUTTONDOWN")
return

highlight_ctrl:
  MouseGetPos,,, WinID, CtrlID
  WinGetPos, WinX, WinY, WinW, WinH, ahk_id %WinID%
  ControlGetPos, cX, cY, cW, cH, %CtrlID%, ahk_id %WinID%
  x := WinX + cX, y := WinY + cY

  Info := WinID "|" CtrlID "|" WinX "|" WinX "|" WinY "|" WinW "|" WinH
  if (Info = LastInfo)
    Return

  if !(x = "" || y = "" || cW = "" || cH = "")
    Gui, Trans:Show, X%x% Y%y% w%cW% h%cH% NA
  else
    Gui, Trans:Cancel

  GuiControl,, WinID, %WinID%
  GuiControl,, CtrlID, %CtrlID%
  GuiControl,, WinX, %WinX%
  GuiControl,, WinY, %WinY%
  GuiControl,, WinW, %WinW%
  GuiControl,, WinH, %WinH%
  GuiControl,, cX, %cX%
  GuiControl,, cY, %cY%
  GuiControl,, cW, %cW%
  GuiControl,, cH, %cH%

  LastInfo := WinID "|" CtrlID "|" WinX "|" WinX "|" WinY "|" WinW "|" WinH
Return

GuiClose:
  ExitApp
Return

WM_LBUTTONDOWN(wParam, lParam, msg, hwnd) {
    global hgui1
    If (hwnd = hgui1)
        DllCall("PostMessage", "uint", hWnd, "uint", 0x00A1, "uint", 2, "uint", 0)
}

给TA捐赠
共{{data.count}}人
人已捐赠
其他案例

高亮鼠标下的控件区域

2020-3-9 6:26:44

其他应用

魔性十字架

2020-3-9 6:30:44

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索