디지털 시계 만들어서 내가 사용하자
컴퓨터를 켜고, 윈도우를 시작하면 오른쪽 하단에 시계가 있지만, 글씨도 작고, 잘 보이지도 않아서 방에 있는 시계를 보던지 종종 핸드폰 시계를 보게 된다.
그래서 내 색깔, 내가 원하는 글씨 크기로 어차피 내가 만들어서 내가 사용할거니까, 내가 하고 싶은데로 만들어서 윈도우 시작할때마다 켜놓고 사용하면 되겠다 생각해서 만들어 봅니다.
초보다운 소스이기에 누구나 만들어서 누구나 자신이 사용할수 있는 디지털 시계를 만들어 봅시다
[오토핫키]AutoHotkey.오토핫키 설치하고, 초보프로그램 만들기
주로 게임에 많이 사용하기로 유명한 매크로 오토핫키로 많이 알려져 있다 레드도 처음 던파의 x키 연타버튼을 혹은 디아블로 반오토, 아이템줍기 등등으로 많이 사용 했던 시절이 있습니다 다
r2dme.tistory.com
디지털 시계 구성 미리보기
디지털 시계는 3가지 버전으로 만들었습니다
구성은 거기서 거기지만, 사이즈에 맞게 또는 여러가지 표현방식중에 이런식으로도 만들수 있구나라는 관점에서 만들었고, 누구나 자신의 입맛에 맞춰서 인터페이스를 조정해서 사용하면 되겠습니다
첫번째로 기본적인 날짜와 요일과 시간은 잘보이게 폰트 사이즈를 크게 색도 넣었습니다
두번째는 날짜 요일 시간 폰트와 색상 구조로 되어있고, 가로로 길게 인터페이스를 잡아서 어디에 놔도 걸리적 거리지 않는 사이즈로 만들어 봤습니다
세번째는 날짜 요일 시간 역시 폰트와 색상 구조로 인터페이스만 변경했습니다
만들다 보니, 어딘가 예전에 식당에 가면 있었던 디지털 시계와 흡사 비슷해 졌습니다
그리고 디지털 시계 3개 버전 전부 제목 표시줄을 빼고, 종료버튼을 없애서 불필요한 부분을 없앴습니다
하지만 윈도우 오른쪽 하단에 트레이아이콘에 종료 버튼을 추가 해서 트레이 아이콘 마우스 우클릭하여, 종료를 할수 있고,
디지털 시계 화면을 드레그 하여 움직일 수 있는 코드를 추가 하였습니다
이제 초보코딩을 시작해 봅시다

첫번째 시계 코딩소스
Gui, +AlwaysOnTop
Gui, -caption
OnMessage(0x201, "WM_LBUTTONDOWN")
WM_LBUTTONDOWN(wParam, lParam)
{
PostMessage, 0xA1, 2,,, A
}
Menu, Tray, NoStandard
Menu, Tray, Add, 종료, GuiClose
Menu, Tray, Icon, 종료, %A_WinDir%\system32\shell32.dll, 28
SetTimer, clock,100 ;매 0.1 초마다 now 라벨 실행.
Gui, Font, Bold cGray
Gui, Add, Text, x10 y5 w100 h20 vDay
Gui, Font, S18 Bold cRed
Gui, Add, Text, x5 y+1 w100 h25 Center vClock
Gui, Show, w115, CLOCK
return
clock:
formattime, dayNow, , yyyy-MM-dd ddd
GuiControl, text, Day , %dayNow%
formattime, clockNow, , HH:mm:ss
GuiControl, text, Clock , %clockNow%
return
GuiClose:
ExitApp
return
Gui, +AlwaysOnTop 다른 창이나 프로그램 실행시에 시계가 뒤로 사라지지 않게 합니다
Gui, -caption 제목표시줄 제거로 종료버튼도 사라집니다
두개의 코드는 원하는데로 필요없으면, 삭제 하면 됩니다
OnMessage(0x201, "WM_LBUTTONDOWN")
WM_LBUTTONDOWN(wParam, lParam)
{
PostMessage, 0xA1, 2,,, A
}
이 코드는 시계화면을 드레그하면 이동을 할수 있게 하는 코드입니다
저도 예전부터 오픈 소스 복사해서 사용하는거라 따로 설명은 하지 않겠습니다
필요없으면 삭제하고, 다른 프로그램만들때도 필요하면 복사해서 사용하면 됩니다
Menu, Tray, NoStandard 트레이 아이콘 우클릭시에 오토핫키 기본 메뉴들을 삭제 합니다
Menu, Tray, Add, 종료, GuiClose 트레이 아이콘 메뉴에 종료를 추가합니다
Menu, Tray, Icon, 종료, %A_WinDir%\system32\shell32.dll, 28 아이콘을 추가합니다
윈도우폴더에 윈도우 자체적으로 사용하는 기본 아이콘이 dll파일에 있습니다
dll파일을 읽어와서 그안에 있는 28번에 해당하는 아이콘을 가져와서 사용하는 코드입니다
SetTimer, clock,100
clock:
formattime, dayNow, , yyyy-MM-dd ddd ->날짜 요일
GuiControl, text, Day , %dayNow% ->실시간 날짜 움직임을 리셋시켜줌
formattime, clockNow, , HH:mm:ss ->시간
GuiControl, text, Clock , %clockNow% ->실시간 시간이 움직임을 리셋시켜 초가 움직임
SetTimer 코드로 100이라는 딜레이 시간마다 clock이라는 링크로 가서 명령어를 실행해라
clock링크로가서 명령어를 0.1초 마다 실행을 합니다
참고로 1000이 1초입니다
파일 다운 받아서 작동법을 확인 할 수 있습니다
두번째 시계 코딩소스
Gui, +AlwaysOnTop
Gui, -caption
OnMessage(0x201, "WM_LBUTTONDOWN")
WM_LBUTTONDOWN(wParam, lParam)
{
PostMessage, 0xA1, 2,,, A
}
Menu, Tray, NoStandard
Menu, Tray, Add, 종료, GuiClose
Menu, Tray, Icon, 종료, %A_WinDir%\system32\shell32.dll, 28
SetTimer, clock,100
Gui, Font, Bold cGray
Gui, Add, Text, x5 y11 w100 vDay
Gui, Font, S18 Bold cRed
Gui, Add, Text, x+5 y5 w100 h20 Center vClock
Gui, Show, w215, CLOCK
return
clock:
formattime, dayNow, , yyyy-MM-dd ddd
GuiControl, text, Day , %dayNow%
formattime, clockNow, , HH:mm:ss
GuiControl, text, Clock , %clockNow%
return
GuiClose:
ExitApp
return
Gui, +AlwaysOnTop 다른 창이나 프로그램 실행시에 시계가 뒤로 사라지지 않게 합니다
Gui, -caption 제목표시줄 제거로 종료버튼도 사라집니다
두개의 코드는 원하는데로 필요없으면, 삭제 하면 됩니다
OnMessage(0x201, "WM_LBUTTONDOWN")
WM_LBUTTONDOWN(wParam, lParam)
{
PostMessage, 0xA1, 2,,, A
}
이 코드는 시계화면을 드레그하면 이동을 할수 있게 하는 코드입니다
저도 예전부터 오픈 소스 복사해서 사용하는거라 따로 설명은 하지 않겠습니다
필요없으면 삭제하고, 다른 프로그램만들때도 필요하면 복사해서 사용하면 됩니다
Menu, Tray, NoStandard 트레이 아이콘 우클릭시에 오토핫키 기본 메뉴들을 삭제 합니다
Menu, Tray, Add, 종료, GuiClose 트레이 아이콘 메뉴에 종료를 추가합니다
Menu, Tray, Icon, 종료, %A_WinDir%\system32\shell32.dll, 28 아이콘을 추가합니다
윈도우폴더에 윈도우 자체적으로 사용하는 기본 아이콘이 dll파일에 있습니다
dll파일을 읽어와서 그안에 있는 28번에 해당하는 아이콘을 가져와서 사용하는 코드입니다
SetTimer, clock,100
clock:
formattime, dayNow, , yyyy-MM-dd ddd ->날짜 요일
GuiControl, text, Day , %dayNow% ->실시간 날짜 움직임을 리셋시켜줌
formattime, clockNow, , HH:mm:ss ->시간
GuiControl, text, Clock , %clockNow% ->실시간 시간이 움직임을 리셋시켜 초가 움직임
SetTimer 코드로 100이라는 딜레이 시간마다 clock이라는 링크로 가서 명령어를 실행해라
clock링크로가서 명령어를 0.1초 마다 실행을 합니다
참고로 1000이 1초입니다
파일 다운 받아서 작동법을 확인 할 수 있습니다
두번째 시계 코딩소스
Gui, +AlwaysOnTop
Gui, -caption
OnMessage(0x201, "WM_LBUTTONDOWN")
WM_LBUTTONDOWN(wParam, lParam)
{
PostMessage, 0xA1, 2,,, A
}
Menu, Tray, NoStandard
Menu, Tray, Add, 종료, GuiClose
Menu, Tray, Icon, 종료, %A_WinDir%\system32\shell32.dll, 28
SetTimer, clock,100
Gui, Font, Bold cGray
Gui, Add, Text, x10 y5 w177 h20 vDay
Gui, Font, S18 Bold cRed
Gui, Add, Text, x5 y+1 w177 h25 Center vClock
Gui, Show, w190, CLOCK
return
clock:
formattime, dayNow, , yyyy년 MM월 dd일 dddd
GuiControl, text, Day , %dayNow%
formattime, clockNow, , HH시 mm분 ss초
GuiControl, text, Clock , %clockNow%
return
GuiClose:
ExitApp
return
Gui, +AlwaysOnTop 다른 창이나 프로그램 실행시에 시계가 뒤로 사라지지 않게 합니다
Gui, -caption 제목표시줄 제거로 종료버튼도 사라집니다
두개의 코드는 원하는데로 필요없으면, 삭제 하면 됩니다
OnMessage(0x201, "WM_LBUTTONDOWN")
WM_LBUTTONDOWN(wParam, lParam)
{
PostMessage, 0xA1, 2,,, A
}
이 코드는 시계화면을 드레그하면 이동을 할수 있게 하는 코드입니다
저도 예전부터 오픈 소스 복사해서 사용하는거라 따로 설명은 하지 않겠습니다
필요없으면 삭제하고, 다른 프로그램만들때도 필요하면 복사해서 사용하면 됩니다
Menu, Tray, NoStandard 트레이 아이콘 우클릭시에 오토핫키 기본 메뉴들을 삭제 합니다
Menu, Tray, Add, 종료, GuiClose 트레이 아이콘 메뉴에 종료를 추가합니다
Menu, Tray, Icon, 종료, %A_WinDir%\system32\shell32.dll, 28 아이콘을 추가합니다
윈도우폴더에 윈도우 자체적으로 사용하는 기본 아이콘이 dll파일에 있습니다
dll파일을 읽어와서 그안에 있는 28번에 해당하는 아이콘을 가져와서 사용하는 코드입니다
SetTimer, clock,100
clock:
formattime, dayNow, , yyyy년 MM월 dd일 dddd ->날짜 요일
GuiControl, text, Day , %dayNow% ->실시간 날짜 움직임을 리셋시켜줌
formattime, clockNow, , HH시 mm분 ss초 ->시간
GuiControl, text, Clock , %clockNow% ->실시간 시간이 움직임을 리셋시켜줌
SetTimer 코드로 100이라는 딜레이 시간마다 clock이라는 링크로 가서 명령어를 실행해라
clock링크로가서 명령어를 0.1초 마다 실행을 합니다
참고로 1000이 1초입니다
파일 다운 받아서 작동법을 확인 할 수 있습니다
이렇게 3개의 디지털 시계를 만들었는데요
코드는 모두 같은 코드이고, 다만 Gui 인터페이스 위치 등등 만 변경된 것을 볼 수 있습니다
결론으로 여러분들도 위치와 전체적인 사이즈만 바꿔서 얼마든지 자신만의 시계를 만들어서 사용할 수 있습니다
그리고 윈도우 시작시에 자동으로 실행 되는 것은 이전 글인 휴지통 비우기를 보시고, 아래 링크 타고가면 있습니다
[오토핫키]내가 만든 휴지통 비우기 만들고, 사용하자
윈도우 바탕화면에 삭제도 안되고 언제나 항상있는 것 휴지통 입니다 휴지통을 비우려면 항상 쓰고 있는 창을 내리고 바탕화면에 휴지통 아이콘을 마우스 우클릭하여 비우기를 항상 해는데요
r2dme.tistory.com