카테고리 없음

디지털 시계 만들어서 내가 사용하자

r2d 2023. 11. 25. 14:26
반응형

컴퓨터를 켜고, 윈도우를 시작하면 오른쪽 하단에 시계가 있지만, 글씨도 작고, 잘 보이지도 않아서 방에 있는 시계를 보던지 종종 핸드폰 시계를 보게 된다.

그래서 내 색깔, 내가  원하는 글씨 크기로 어차피 내가 만들어서 내가 사용할거니까, 내가 하고 싶은데로 만들어서 윈도우 시작할때마다 켜놓고 사용하면 되겠다 생각해서 만들어 봅니다.

초보다운 소스이기에 누구나 만들어서 누구나 자신이 사용할수 있는 디지털 시계를 만들어 봅시다

 

 

 

[오토핫키]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초입니다

 

디지털 시계(기본).exe
1.16MB

파일 다운 받아서 작동법을 확인 할 수 있습니다

 

 

두번째 시계 코딩소스

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초입니다

 

디지털 시계(기본_가로).exe
1.16MB

파일 다운 받아서 작동법을 확인 할 수 있습니다

 

 

 

두번째 시계 코딩소스

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초입니다

 

디지털 시계(한글).exe
1.16MB

파일 다운 받아서 작동법을 확인 할 수 있습니다

 

 

이렇게 3개의 디지털 시계를 만들었는데요

코드는 모두 같은 코드이고, 다만 Gui 인터페이스 위치 등등 만 변경된 것을 볼 수 있습니다

결론으로 여러분들도 위치와 전체적인 사이즈만 바꿔서 얼마든지 자신만의 시계를 만들어서 사용할 수 있습니다

 

 

그리고 윈도우 시작시에 자동으로 실행 되는 것은 이전 글인 휴지통 비우기를 보시고, 아래 링크 타고가면 있습니다

 

 

[오토핫키]내가 만든 휴지통 비우기 만들고, 사용하자

윈도우 바탕화면에 삭제도 안되고 언제나 항상있는 것 휴지통 입니다 휴지통을 비우려면 항상 쓰고 있는 창을 내리고 바탕화면에 휴지통 아이콘을 마우스 우클릭하여 비우기를 항상 해는데요

r2dme.tistory.com

 

 

 

반응형