hy_Stealth(id:="",j:=1){ ;贴边自动隐藏窗口。参数1,指定ID。2,方向。1 下 ,2,左 3 上 4 右。使用了HY内置变量。 DetectHiddenWindows, On IsObject(HU["/Stealth/"])?"":HU["/Stealth/"]:=[] if !id WinGet, id, id, A if p:=HU["/Stealth/"][id:=Abs(id)] { OnMessage(0x200,id,"") gui,%p%:Destroy Stealth_Win(id) WinMove, ahk_id %id%, , % HU["/Stealth/"][p].3, % HU["/Stealth/"][p].4 WinActivate, ahk_id %id% HU["/Stealth/"][id]:=HU["/Stealth/"][p]:="" IniDelete, % A_ScriptDir "defaultshy.ini", Stealth, % id } else { for i,n in StrSplit(IniRead("","Stealth",A_ScriptDir "defaultshy.ini"), "`n") { f:=StrSplit(n, "=") if !p:=HU["/Stealth/"][f.1] or !WinExist("ahk_id " f.1) { if WinExist("ahk_id " f.1) { t:=StrSplit(f.2, "/") Stealth_Win(f.1) WinMove, % "ahk_id " f.1, ,t.1,t.2 WinActivate, % "ahk_id " f.1 } if p { OnMessage(0x200,f.1,"") gui,%p%:Destroy HU["/Stealth/"][f.1]:=HU["/Stealth/"][p]:="" } IniDelete, % A_ScriptDir "defaultshy.ini", Stealth, % f.1 } } Loop if !HU["/Stealth/"][p:=A_Index] Break SysGet, b, 4 WinGetPos, x, y, w, h, ahk_id %id% if (j = 1) { mx := x my := A_ScreenHeight - h ax :=x ay := A_ScreenHeight - 2 aw :=w ah := 2 } else if (j = 2) { mx := 0 my := y ax :=-20 ay := y aw :=22 ah := h - b } else if (j = 3) { mx := x my := -20 ax :=x ay := 0 aw :=w ah := 22 } else { mx := A_ScreenWidth - w my := y ax :=A_ScreenWidth - 1 ay := y aw :=1 ah := h - b } WinMove, ahk_id %id%, ,mx,my WinSet, AlwaysOnTop, on, ahk_id %id% WinHide, ahk_id %id% WinSet, Style, -0xC00000, ahk_id %id% WinSet, ExStyle, +0x80, ahk_id %id% gui,%p%:+Owner hwndhgui AlwaysOnTop +ToolWindow gui,%p%:show,% "NoActivate x" ax " y" ay " w" aw " h" ah,%p% WinSet,transparent,1,ahk_id %hgui% Gui %p%:-Caption isfunc("Stealth__" p)?"":h_Self.addscript("Stealth__" p "(){`nReturn Stealth__(" p ")`n}",0) OnMessage(0x200,hgui,"Stealth__" p), HU["/Stealth/"][id]:=p, HU["/Stealth/"][p]:=[id, hgui,x, y, w, h,1,mx,my,ax,ay,aw,ah] IniWrite(x "/" y, id,"Stealth",A_ScriptDir "defaultshy.ini") } } Stealth_Win(f){ WinSet, AlwaysOnTop, off, ahk_id %f% WinSet, Style, +0xC00000, ahk_id %f% WinSet, ExStyle, -0x80, ahk_id %f% WinShow, ahk_id %f% } Stealth__(p){ x:=HU["/Stealth/"][p].1 h:=HU["/Stealth/"][p].5 if HU["/Stealth/"][p].7 { WinShow, ahk_id %x% HU["/Stealth/"][p].7:=0 gui,%p%:Hide WinActivate, ahk_id %x% WinWaitNotActive,ahk_id %x% if HU["/Stealth/"][p] { HU["/Stealth/"][p].7:=1 gui,%p%:Show WinMove, ahk_id %x%, ,% HU["/Stealth/"][p].8,% HU["/Stealth/"][p].9 WinHide, ahk_id %x% } } }