; WinCloseAuto( SetHook, WEP.1, WEP.2, WEP.3, WEP.4 )
; WinCloseAuto()将监视和关闭多达 4 个窗口。
; 参数:
; SetHook参数不应被省略,并且应该为True以设置 Hook,或False为 Unhook。
; WEP.1 .. WEP.4是WinExist()参数,需要为每个参数作为单独的数组传递。
; 注意:WinExist()有 4 个参数。下面的示例仅使用第一个参数
; 用法示例:
; 以下代码将在Calculator、 Notepad或Windows Task Manager时自动关闭 出现。
; 经过 4 周的观察,我会说以下方法可以很好地消除 PD 广告。
; WinCloseAuto(True, ["Panda Dome ahk_exe PSUAConsole.exe",,,"Panda Dome"])
; https://www.autohotkey.com/boards/viewtopic.php?f=6&t=77461
; 【触发频率挺高的,不是窗口异步触发】
#NoEnv
#Warn
#Persistent
#SingleInstance Force
; 第一行参数是测试打开记事本自动关闭
WinCloseAuto(True , ["ahk_class Notepad"]
, ["ahk_class CalcFrame"]
, ["Windows Task Manager ahk_class #32770"] )
Loop
ToolTip, 主进程持续运算演示-%A_Index%
return
WinCloseAuto(P*) { ; WinCloseAuto v0.50 by SKAN on D36I/D36I @ tiny.cc/wincloseauto
Static CBA:=RegisterCallBack("WinCloseAuto"), WEP:="", hHook:=0, EVENT_OBJECT_SHOW:=0x8002
If IsObject(P)
Return (P.1=1 && (WEP:=P)) ? hHook:=DllCall("SetWinEventHook","Int",EVENT_OBJECT_SHOW
,"Int",EVENT_OBJECT_SHOW, "Ptr",0, "Ptr",CBA, "Int",0, "Int",0, "Int",0, "Ptr")
: (P.1=0 && (WEP:="")="") ? DllCall("UnhookWinEvent", "Ptr",hHook) : ""
If WinExist((WEP.2)*) || WinExist((WEP.3)*) || WinExist((WEP.4)*) || WinExist((WEP.5)*)
PostMessage, 0x112, 0xF060 ; WM_SYSCOMMAND, SC_CLOSE
}
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。

评论(0)