Software/AutoHotKey

[AutoHotKey] Tray 메뉴 사용하기

rudals.kim 2024. 7. 31. 09:18
반응형
AutoHotkey 1.1.37.02 버전에서 테스트 되었습니다.


Tray 컨트롤을 사용해 보았습니다.

간단히 Tray 아이콘 우클릭시 메뉴1/메뉴2/메뉴3/종료 메뉴가 나오도록 구성하였습니다.
#Persistent 명령어는 스크립트가 영구적으로 종료되는것을 막기 위해 메뉴, 타이머등에서 사용됩니다.

이 명령어가 없으면 해당 스크립트가 바로 종료됩니다.

#Persistent
Menu, Tray, Add, 메뉴1, MenuHandler
Menu, Tray, Add, 메뉴2, MenuHandler
Menu, Tray, Add, 메뉴3, MenuHandler
Menu, Tray, Add, 종료, GuiClose


메뉴 선택시 이벤트를 설정하여 현재 선택된 메뉴를 표시하도록 하였습니다.

MenuHandler:
MsgBox %A_ThisMenu% 메뉴에서 %A_ThisMenuItem%을 선택하였습니다.
return


테스트에 사용된 전체 소스 코드입니다.

#Persistent
Menu, Tray, Add, 메뉴1, MenuHandler
Menu, Tray, Add, 메뉴2, MenuHandler
Menu, Tray, Add, 메뉴3, MenuHandler
Menu, Tray, Add, 종료, GuiClose
return

MenuHandler:
MsgBox %A_ThisMenu% 메뉴에서 %A_ThisMenuItem%을 선택하였습니다.
return

GuiClose:
ExitApp


실행시키면 윈도우의 Tray에 오토핫키 아이콘이 생성되고, 우클릭시 아래와 같은 메뉴가 나옵니다.
위에서 설정한 Tray 메뉴 이외에 오토핫키에서 기본적(default)으로 사용되는 메뉴도 같이 나옵니다.
오토핫키 스크립트로 빌드된 프로그램에서는 아래 메뉴는 공통으로 생성됩니다.

만약 이 메뉴를 없애고 싶은 경우 아래의 명령어를 추가 해 줍니다.

Menu, Tray, NoStandard


아래는 수정된 테스트 코드입니다.

#Persistent
Menu, Tray, NoStandard
Menu, Tray, Add, 메뉴1, MenuHandler
Menu, Tray, Add, 메뉴2, MenuHandler
Menu, Tray, Add, 메뉴3, MenuHandler
Menu, Tray, Add, 종료, GuiClose
return

MenuHandler:
MsgBox %A_ThisMenu% 메뉴에서 %A_ThisMenuItem%을 선택하였습니다.
return

GuiClose:
ExitApp

 

수정한 코드를 실행하면 기본 메뉴는 나오지 않고 설정된 메뉴만 나타납니다.

메뉴를 클릭하면 아래와 같이 선택된 메뉴가 MsgBox가 나오고 종료 메뉴 선택시 프로그램이 종료됩니다.

 

반응형