λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

컴퓨터 λ‹¨μΆ•ν‚€λ‘œ μ˜μƒ μΌμ‹œμ •μ§€/μž¬μƒν•˜λŠ” 방법

by βœ”πŸ‘‰1️⃣ 2025. 1. 7.

μ—¬λŸ¬ 인터넷 μ°½μ—μ„œ μ˜μƒμ„ λ™μ‹œμ— μž¬μƒν•˜κ±°λ‚˜ μΌμ‹œμ •μ§€ν•  수 μžˆλŠ” 단좕킀λ₯Ό λ§Œλ“œλŠ” 것은 슀크립트 μ½”λ”© λ˜λŠ” 맀크둜 ν”„λ‘œκ·Έλž¨μ„ ν™œμš©ν•˜λ©΄ κ°€λŠ₯ν•©λ‹ˆλ‹€. 이λ₯Ό κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄ Python 같은 ν”„λ‘œκ·Έλž˜λ° 언어와 μžλ™ν™” 도ꡬλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ•„λž˜μ—μ„œ μ½”λ”© 및 μ„€μ • 방법을 λ‹¨κ³„λ³„λ‘œ μ•ˆλ‚΄ν•©λ‹ˆλ‹€.


1. 문제 이해 및 ν•΄κ²° λ°©ν–₯

  • λͺ©ν‘œ:
    • ν•œμͺ½μ€ 유튜브, λ‹€λ₯Έ μͺ½μ€ λ„·ν”Œλ¦­μŠ€ λ“± 두 개의 μ°½μ—μ„œ μ˜μƒμ„ μž¬μƒν•  λ•Œ, 단좕킀 ν•˜λ‚˜λ‘œ 두 μ˜μƒμ„ λ™μ‹œμ— μΌμ‹œμ •μ§€ν•˜κ±°λ‚˜ μž¬μƒ.
  • κ°€λŠ₯ν•œ 방법:
    1. Python 슀크립트λ₯Ό μž‘μ„±ν•˜μ—¬ λΈŒλΌμš°μ € 창을 μ œμ–΄.
    2. 맀크둜 ν”„λ‘œκ·Έλž¨(AutoHotkey λ“±)을 μ‚¬μš©ν•΄ λ‹¨μΆ•ν‚€λ‘œ 두 창에 λ™μ‹œμ— λͺ…λ Ή 전달.
    3. λ©€ν‹°λ―Έλ””μ–΄ ν‚€ ν™•μž₯ ν”„λ‘œκ·Έλž¨μ„ ν™œμš©.

2. Python으둜 단좕킀 슀크립트 μž‘μ„±ν•˜κΈ°

2-1. ν•„μš”ν•œ 라이브러리 μ„€μΉ˜

  1. Python μ„€μΉ˜: Python 곡식 μ›Ήμ‚¬μ΄νŠΈμ—μ„œ μ„€μΉ˜.
  2. ν•„μš”ν•œ 라이브러리 μ„€μΉ˜:
    pip install keyboard pygetwindow pyautogui

2-2. μ½”λ“œ μž‘μ„±

import keyboard
import pygetwindow as gw
import pyautogui

# μ œμ–΄ν•  λΈŒλΌμš°μ € μ°½ 이름 μ„€μ •
target_windows = ["YouTube", "Netflix"]

def toggle_play_pause():
    for window in gw.getWindowsWithTitle(''):  # λͺ¨λ“  μ°½ 검색
        for target in target_windows:
            if target in window.title:
                window.activate()  # ν•΄λ‹Ή μ°½ ν™œμ„±ν™”
                pyautogui.press('space')  # 슀페이슀 ν‚€λ‘œ μž¬μƒ/μΌμ‹œμ •μ§€

# 단좕킀 μ„€μ • (예: Ctrl+Shift+P)
keyboard.add_hotkey('ctrl+shift+p', toggle_play_pause)

print("단좕킀 μ‹€ν–‰ 쀑... Ctrl+Shift+Pλ₯Ό 눌러 μž¬μƒ/μΌμ‹œμ •μ§€")
keyboard.wait('esc')  # ESC ν‚€λ₯Ό λˆ„λ₯΄λ©΄ μ’…λ£Œ

2-3. μ½”λ“œ μ‹€ν–‰

  1. Python 슀크립트λ₯Ό μ €μž₯ν•œ ν›„ μ‹€ν–‰.
  2. λΈŒλΌμš°μ € μ°½μ—μ„œ μœ νŠœλΈŒμ™€ λ„·ν”Œλ¦­μŠ€λ₯Ό 각각 μ‹€ν–‰.
  3. μ„€μ •ν•œ 단좕킀(예: Ctrl + Shift + P)λ₯Ό λˆ„λ₯΄λ©΄ 두 창이 λ™μ‹œμ— μΌμ‹œμ •μ§€/μž¬μƒλ©λ‹ˆλ‹€.

3. AutoHotkey둜 단좕킀 κ΅¬ν˜„ν•˜κΈ°

AutoHotkey(AHK)λŠ” 단좕킀 및 μžλ™ν™” μž‘μ—…μ„ μ‰½κ²Œ μ„€μ •ν•  수 μžˆλŠ” νˆ΄μž…λ‹ˆλ‹€.

3-1. AutoHotkey μ„€μΉ˜

3-2. 슀크립트 μž‘μ„±

  1. λ©”λͺ¨μž₯을 μ—΄κ³  μ•„λž˜ 슀크립트λ₯Ό μž‘μ„±:
  2. ^+p:: ; Ctrl + Shift + P SetTitleMatchMode, 2 ; μ°½ 제λͺ© λΆ€λΆ„ 일치 ν—ˆμš© ControlSend, , {Space}, YouTube ControlSend, , {Space}, Netflix return
  3. νŒŒμΌμ„ μ €μž₯ν•  λ•Œ ν™•μž₯자λ₯Ό .ahk둜 지정.
    • 예: PlayPauseControl.ahk.
  4. μ €μž₯ν•œ 슀크립트λ₯Ό μ‹€ν–‰ν•˜λ©΄ 단좕킀가 ν™œμ„±ν™”λ©λ‹ˆλ‹€.

3-3. μž‘λ™ 확인

  • λΈŒλΌμš°μ €μ—μ„œ μœ νŠœλΈŒμ™€ λ„·ν”Œλ¦­μŠ€λ₯Ό 각각 μ‹€ν–‰ν•œ μƒνƒœμ—μ„œ Ctrl + Shift + Pλ₯Ό λˆ„λ₯΄λ©΄ 두 μ˜μƒμ΄ λ™μ‹œμ— μΌμ‹œμ •μ§€/μž¬μƒλ©λ‹ˆλ‹€.

4. λ©€ν‹°λ―Έλ””μ–΄ ν‚€ ν™œμš©

4-1. λ©€ν‹°λ―Έλ””μ–΄ ν‚€ ν™•μž₯ ν”„λ‘œκ·Έλž¨

  1. MediaKey λΈŒλΌμš°μ € ν™•μž₯ ν”„λ‘œκ·Έλž¨ μ„€μΉ˜:
    • Chrome μ›ΉμŠ€ν† μ–΄μ—μ„œ MediaKey와 같은 ν™•μž₯ ν”„λ‘œκ·Έλž¨μ„ μ„€μΉ˜ν•©λ‹ˆλ‹€.
    • MediaKey 링크
  2. μ„€μ •μ—μ„œ 단좕킀λ₯Ό μ§€μ •ν•˜μ—¬ λ©€ν‹°λ―Έλ””μ–΄ ν‚€λ₯Ό νŠΉμ • λΈŒλΌμš°μ € 탭에 μ—°κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

5. 주의 사항

  1. λΈŒλΌμš°μ € μ°½ 이름 확인
    • μ½”λ”© μ‹œ, λΈŒλΌμš°μ € μ°½ 제λͺ©(예: "YouTube - Google Chrome")을 μ •ν™•νžˆ μž…λ ₯ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  2. λ©€ν‹°νƒ­ ν™˜κ²½
    • μ—¬λŸ¬ νƒ­μ—μ„œ μ˜μƒμ„ μ‹€ν–‰ 쀑일 경우, μ›ν•˜λŠ” 탭에 λͺ…령이 μ „λ‹¬λ˜μ§€ μ•Šμ„ 수 μžˆμœΌλ‹ˆ ν•˜λ‚˜μ˜ νƒ­λ§Œ μ‚¬μš©ν•˜μ„Έμš”.
  3. ν˜Έν™˜μ„±
    • AutoHotkey와 Python λͺ¨λ‘ μ΅œμ‹  λΈŒλΌμš°μ € 및 μš΄μ˜μ²΄μ œμ™€ ν˜Έν™˜λ˜λ„λ‘ μ„€μ •ν•˜μ„Έμš”.

κ²°λ‘ 

  1. Python 슀크립트: μœ μ—°ν•œ μ°½ μ œμ–΄ 및 단좕킀 μ„€μ • κ°€λŠ₯.
  2. AutoHotkey: λ‹¨μΆ•ν‚€λ‘œ κ°„λ‹¨νžˆ 두 μ°½ μ œμ–΄ κ°€λŠ₯.
  3. λ©€ν‹°λ―Έλ””μ–΄ ν‚€ ν™•μž₯ ν”„λ‘œκ·Έλž¨: μ½”λ“œ μž‘μ„± 없이 λΉ λ₯Έ μ„€μ • κ°€λŠ₯.

코딩에 μ΅μˆ™ν•˜λ‹€λ©΄ Python λ˜λŠ” AHKλ₯Ό μΆ”μ²œν•˜λ©°, κ°„λ‹¨ν•œ 섀정을 μ›ν•œλ‹€λ©΄ ν™•μž₯ ν”„λ‘œκ·Έλž¨μ„ ν™œμš©ν•˜μ„Έμš”. 😊

λŒ“κΈ€