끄적끄적

반응형

global MsgWinCnt := 1    ;윈도우 순서 번호 : 여러개 띄울 때 위치를 다르게 하기 위해서..


tab::

{

Show_MsgBox("오늘의 주요 일정", "1.ㅇㅇㅇ`n2.ㅁㅁㅁ`n3.ㅅㅅㅅ", 0, true)

Show_MsgBox("11111111", "1.ㅇㅇㅇ`n2.ㅁㅁㅁ`n3.ㅅㅅㅅ", 0.8, true)

Show_MsgBox("222222", "1.ㅇㅇㅇ`n2.ㅁㅁㅁ`n3.ㅅㅅㅅ", 3, true)

return

}



;[오토핫키] 메세지박스 만들기 : 하나의 함수를 이용해서 창 여러개 띄울 때 사용

Show_MsgBox(uTitle, uMsg, uTime, uSound)

{

;uTitle 문자열에 공백이 포함되면 오류가 뜬다.  ;오늘의 주요 일정 => 오늘의_주요_일정

IfInString, uTitle, %A_Space%

{

StringReplace, uTitle, uTitle, %A_Space%, _, All ;https://secretgd.tistory.com/265

}

;uTitle은 나중에 관리를 할 때 필요해서 지정해 주고, 뒤에 A_Now는 생성된 날짜와 시간을 추가로 연결해서 창이름의 중복을 방지한다.

WinTitleName = %uTitle%_%A_Now% ;%A_NowUTC%


Gui, %WinTitleName%: -Caption

;Gui, %WinTitleName%: -Border ;창 테두리 두께를 없앤다. 그리고 창 타이틀 부분도 없어진다.

;Gui, %WinTitleName%: margin, 0, 0 ;쓸모없음.

;Gui, %WinTitleName%: color,Red, silver ; 창 바탕색, Edit 바탕색 지정

Gui, %WinTitleName%: Font, S13 Bold, 맑은 고딕

;Gui, %WinTitleName%: +alwaysontop +toolwindow


Gui, %WinTitleName%: Add, Text, x0 y0 w300 h30, [ %uTitle% ]

Gui, %WinTitleName%: Add, Text, x0 y+0 w300 h140, %uMsg%

Gui, %WinTitleName%: Add, Button, x0 y+0 w300 h30 gMsgBoxWin_BTN_Close, 닫기


;윈도우가 여러개 생성 될 때 위치를 다르게 함

Win_W := 300

Win_H := 200

if(MsgWinCnt > 0 && MsgWinCnt < 6) ;1~5

{

Win_X := 50  + Win_W * MsgWinCnt - Win_W

Win_Y := Win_H

}

else if(MsgWinCnt > 5 && MsgWinCnt < 11) ; 6~10,

{

Win_X := 50  + Win_W * (MsgWinCnt-5) - Win_W

Win_Y := Win_H * 2

if(MsgWinCnt = 10)

{

MsgWinCnt := 0

}

}

MsgWinCnt++ ;윈도우 화면 순서 증가

Gui, %WinTitleName%: show, x%Win_X% y%Win_Y% w%Win_W% h%Win_H%, %uTitle%

Winset,Alwaysontop, On, %WinTitleName% ; 창 항상 위에

OnMessage(0x201, "WM_LBUTTONDOWN")   ;gui창 제목표시줄이 아닌 어느곳을 잡아도 창이동 가능하게 하는 함수  

FileAppend, %uTitle%`n%uMsg%`n%A_YYYY%년 %A_MM%월 %A_DD%일 %A_Hour%시 %A_Min%분 %A_Sec%초에 [작성]되었습니다.`n, z:\chk\MsgBox_%A_Now%.chk

;윈도우가 보여질 때 소리를 나게 만듬

if(uSound == true)

{

SoundPlay, C:\Windows\Media\Windows Message Nudge.wav

;SoundPlay, C:\Windows\Media\Alarm02.wav

;SoundPlay, C:\eBEST\eBestPro\sound\체결알림(지정가전환).wav

;SoundPlay, C:\eBEST\eBestPro\Sound\뉴스알람.wav

}

;uTime이 0이면 윈도우가 계속 보여지고, 1이상이면 그 시간만큼 띄워졌다가 자동으로 창이 종료된다.

if(uTime > 0)

{

Sleep, uTime * 1000

Gui, %WinTitleName%: Destroy ; 창을 지운다.

}

return

}


MsgBoxWin_BTN_Close:
{
SendInput,!{f4}
return
}

;gui창 제목표시줄이 아닌 어느곳을 잡아도 창이동 가능하게 하는 함수  
WM_LBUTTONDOWN(wParam, lParam) 
PostMessage, 0xA1, 2,,, A 
return 
}






반응형
Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]