; 窗口最大化或最小化时钩子调用 wParam=5 有时会失效,原因未知
;缺点只能点击任务栏悬浮的缩略图,才能正常还原
#IfWinActive ahk_class Notepad
Global 后台WinTitle:="ahk_class Notepad"
DllCall("RegisterShellHookWindow", "Ptr", A_ScriptHwnd)
OnMessage(DllCall("RegisterWindowMessage", "Str", "ShellHook"), "ShellEvent")
ShellEvent(wParam, lParam) {
Static 后台窗口正激活
; 还原最小化的目标窗口
; PostMessage, 0x0112, 0xF120,,, %后台WinTitle%
; wParam=5 有时会失效,原因未知
; if (wParam=5) && (后台窗口正激活=1)
; if(wParam=5)
WinMove, %后台WinTitle%,, 0, 0
; 后台窗口正激活 := WinActive(后台WinTitle) ? 1 : 0
后台窗口正激活=1
}
LButton::
WinGetPos, X, Y, Width, Height, %后台WinTitle%
Click Down
IfWinNotActive % 后台WinTitle
{
KeyWait LButton
Click Up
}
Return
LButton Up::
MouseGetPos, 横坐标, 纵坐标, 窗口ID, 类编号
If (A_ThisHotkey ~= "LButton")
{
;点击最小化
If(横坐标+x>Width+x-140*(A_ScreenDPI/96)) & (横坐标+x<width+x-93*(A_ScreenDPI/96)) & (纵坐标+y>y+0*(A_ScreenDPI/96)) & (纵坐标+y<y+28*(A_ScreenDPI/96))
{
WinGetPos,窗口x,窗口y, 宽度, 高度, %后台WinTitle%
WinMove, %后台WinTitle%,, 25000, 20
ToolTip,移出屏幕了 %窗口x% %窗口y%
return
}
}
Click Up
Return
暂无讨论,说说你的看法吧