(贴边自动隐藏窗口) hy_Stealth

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%
		}
	}
}

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

#g一键打开licecap 或 终止录制

2020-3-19 21:22:10

其他案例

+01.办公软件

2020-3-19 22:17:26

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