네트워커의 보안 티스토리

;출처: https://autohotkey.com//boards/viewtopic.php?f=6&t=6056


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#SingleInstance force

#NoEnv

PleasantNotify("PleasantNotify", "position vc hc, 3 seconds" , 600, 210, "vc hc", "6")

Sleep, 3000

pn_mod_title("you can change titles")

pn_mod_msg("Also messages")

Sleep, 3000

PleasantNotify("PleasantNotify", "position t hc" , 600, 210, "t hc", "3")

Sleep, 3000

PleasantNotify("PleasantNotify", "position b hc" , 600, 210, "b hc", "3")

Sleep, 3000

PleasantNotify("PleasantNotify", "position default, b r" , 600, 210, "b r", "3")

Sleep, 3000

PleasantNotify("PleasantNotify", "position b l" , 600, 210, "b l", "3")

Sleep, 3000

PleasantNotify("PleasantNotify", "position t l" , 600, 210, "t l", "3")

Sleep, 3000

PleasantNotify("PleasantNotify", "position t r" , 600, 210, "t r", "3")

return


PleasantNotify(title, message, pnW=700, pnH=300, position="b r", time=10) {

    global pn_title, pn_msg, PN_hwnd, w, h

Notify_Destroy()

Gui, Notify: +AlwaysOnTop +ToolWindow -SysMenu -Caption +LastFound

PN_hwnd := WinExist()

WinSet, ExStyle, +0x20

WinSet, Transparent, 0

Gui, Notify: Color, 0xF2F2F0

Gui, Notify: Font, c0x07D82F s18 wBold, Segoe UI

Gui, Notify: Add, Text, % " x" 20 " y" 12 " w" pnW-20 " vpn_title", % title

Gui, Notify: Font, cBlack s15 wRegular

Gui, Notify: Add, Text, % " x" 20 " y" 56 " w" pnW-20 " h" pnH-56 " vpn_msg", % message

RealW := pnW + 50

RealH := pnH + 20

Gui, Notify: Show, W%RealW% H%RealH% NoActivate

WinMove(PN_hwnd, position)

if A_ScreenDPI = 96

WinSet, Region,0-0 w%pnW% h%pnH% R40-40,%A_ScriptName%

/* For Screen text size 125%

if A_ScreenDPI = 120

WinSet, Region, 0-0 w800 h230 R40-40, %A_ScriptName%

*/

winfade("ahk_id " PN_hwnd,210,5)

if (time <> "P")

{

Closetick := time*1000

SetTimer, ByeNotify, % Closetick

}

}


Notify_Destroy() {

global PN_hwnd

ByeNotify:

SetTimer, ByeNotify, Off

    winfade("ahk_id " PN_hwnd,0,5)

    Gui, Notify: Destroy

return

}


pn_mod_title(title) {

global pn_title

GuiControl, Notify: Text,pn_title, % title

}


pn_mod_msg(message) {

global pn_msg

GuiControl, Notify: Text,pn_msg, % message

}


WinMove(hwnd,position) {

   SysGet, Mon, MonitorWorkArea

   WinGetPos,ix,iy,w,h, ahk_id %hwnd%

   x := InStr(position,"l") ? MonLeft : InStr(position,"hc") ?  (MonRight-w)/2 : InStr(position,"r") ? MonRight - w : ix

   y := InStr(position,"t") ? MonTop : InStr(position,"vc") ?  (MonBottom-h)/2 : InStr(position,"b") ? MonBottom - h : iy

   WinMove, ahk_id %hwnd%,,x,y

}


winfade(w:="",t:=128,i:=1,d:=10) {

    w:=(w="")?("ahk_id " WinActive("A")):w

    t:=(t>255)?255:(t<0)?0:t

    WinGet,s,Transparent,%w%

    s:=(s="")?255:s ;prevent trans unset bug

    WinSet,Transparent,%s%,%w%

    i:=(s<t)?abs(i):-1*abs(i)

    while(k:=(i<0)?(s>t):(s<t)&&WinExist(w)) {

        WinGet,s,Transparent,%w%

        s+=i

        WinSet,Transparent,%s%,%w%

        sleep %d%

    }

}