오토핫키

오토핫키로 특정 창이 활성화될 때 자동 작업 실행하기

끄적인다 2025. 4. 8. 01:37
반응형

1. 오토핫키를 활용한 창 활성화 자동화

오토핫키(AutoHotkey)를 사용하면 특정 창이 활성화될 때 자동으로 작업을 수행할 수 있습니다. 이를 활용하면 특정 프로그램이 열릴 때 필요한 작업을 자동으로 실행하거나, 특정 창에서만 단축키를 활성화하는 등의 자동화를 구현할 수 있습니다.


2. 특정 창이 활성화될 때 자동 작업 실행하기

2.1 #IfWinActive를 활용한 조건부 단축키 설정

#IfWinActive를 사용하면 특정 창이 활성화된 경우에만 특정 키를 실행할 수 있습니다.

#IfWinActive ahk_exe notepad.exe
F1::MsgBox 메모장이 활성화된 상태에서 F1 키를 눌렀습니다.
#IfWinActive

이제 메모장이 활성화된 상태에서만 F1 키가 작동합니다.

2.2 SetTimer를 활용한 자동 작업 실행

SetTimer를 사용하면 특정 창이 활성화되었을 때 특정 작업을 자동으로 수행하도록 설정할 수 있습니다.

SetTimer, CheckActiveWindow, 1000  ; 1초마다 창을 확인
return

CheckActiveWindow:
if WinActive("ahk_exe chrome.exe") {
    Send, ^t  ; 크롬이 활성화되면 새 탭 열기 (Ctrl + T)
}
return

이제 크롬이 활성화될 때마다 자동으로 새 탭이 열립니다.


3. 특정 창이 활성화될 때 특정 작업 실행

3.1 특정 창이 활성화되었을 때 메시지 표시

#Persistent
SetTimer, NotifyWhenActive, 500  ; 0.5초마다 창 확인
return

NotifyWhenActive:
if WinActive("ahk_class Notepad") {
    ToolTip, 메모장이 활성화되었습니다!
    Sleep, 2000  ; 2초 후 메시지 제거
    ToolTip
}
return

이제 메모장이 활성화될 때마다 2초 동안 메시지가 표시됩니다.

3.2 특정 창이 활성화될 때 프로그램 실행

SetTimer, OpenCalculator, 1000  ; 1초마다 창 확인
return

OpenCalculator:
if WinActive("ahk_exe excel.exe") {
    Run, calc.exe  ; 엑셀이 활성화되면 계산기 실행
}
return

이제 엑셀이 활성화될 때마다 계산기가 자동으로 실행됩니다.


4. 특정 창이 활성화되었을 때 작업을 반복 실행하지 않도록 설정

위 코드에서는 창이 활성화될 때마다 작업이 반복 실행될 수 있습니다. 이를 방지하려면 변수를 활용하여 한 번만 실행되도록 설정할 수 있습니다.

#Persistent
SetTimer, OpenOnce, 1000
return

AlreadyOpened := 0  ; 실행 여부 확인 변수

OpenOnce:
if WinActive("ahk_exe notepad.exe") {
    if (!AlreadyOpened) {
        MsgBox, 메모장이 활성화되었습니다!
        AlreadyOpened := 1  ; 한 번만 실행
    }
} else {
    AlreadyOpened := 0  ; 창이 비활성화되면 초기화
}
return

이제 메모장이 활성화될 때 메시지가 한 번만 표시됩니다.


5. 특정 창이 비활성화될 때 작업 실행

창이 비활성화될 때 특정 작업을 수행하도록 설정할 수도 있습니다.

#Persistent
SetTimer, OnDeactivate, 500  ; 0.5초마다 창 확인
return

LastActive := 0

OnDeactivate:
if !WinActive("ahk_exe discord.exe") {
    if (LastActive) {
        MsgBox, 디스코드가 비활성화되었습니다.
        LastActive := 0
    }
} else {
    LastActive := 1
}
return

이제 디스코드 창이 비활성화될 때 메시지가 한 번만 표시됩니다.


6. 마무리

오토핫키를 활용하면 특정 창이 활성화될 때 자동으로 작업을 수행할 수 있습니다. 이를 활용하면 생산성을 높이고, 반복적인 작업을 줄일 수 있습니다.

추가로 학습하면 좋은 주제:

  • 특정 창이 닫힐 때 자동으로 다른 프로그램 실행하기
  • 특정 창이 특정 위치에 오면 자동으로 정렬하기
  • 창 활성화 여부를 기반으로 마우스 클릭 자동화
반응형