π ν΄λ¦ λͺ λ²μΌλ‘ λ! λꡬλ λ°λΌ ν μ μλ ‘μ μ² λ§€ν¬λ‘’ μ μμ μμ£Ό μ¬μ΄ λ°©λ²
π λͺ©μ°¨
- λ§€ν¬λ‘, μ νμνκ°μ?
- λ°λ³΅ μμ μ μ§λ£¨ν¨κ³Ό μκ° λλΉ ν΄μ
- μ€λ₯ μ΅μνμ μ νμ± ν₯μ
- κ°μ₯ μ¬μ΄ λ§€ν¬λ‘ μ μ λꡬ μ ννκΈ°: ‘AutoHotkey’ μ
λ¬Έ
- AutoHotkeyλ 무μμΈκ°μ?
- μ€μΉ λ° κΈ°λ³Έ νκ²½ μ€μ
- μ μ² λ§€ν¬λ‘μ ν΅μ¬ μ리 μ΄ν΄νκΈ°
- ν€λ³΄λ λ° λ§μ°μ€ λμ κΈ°λ‘
- λκΈ° μκ°(Sleep)μ μ€μμ±
- μ€μ ! μμ£Ό μ¬μ΄ μ μ² λ§€ν¬λ‘ μ μ λ¨κ³
- 1λ¨κ³: μ€ν¬λ¦½νΈ νμΌ μμ± λ° μ΄κΈ°
- 2λ¨κ³: κΈ°λ³Έ λ¬Έλ² μ΅νκΈ° (Send, Click, Sleep)
- 3λ¨κ³: μ μ² κ³Όμ κΈ°λ‘ λ° μ€ν¬λ¦½νΈ μμ±
- λ§€ν¬λ‘ μ€ν λ° λλ²κΉ
(μ€λ₯ μμ ) ν
- λ§€ν¬λ‘ μ€ν λ° μΌμ μ μ§/μ’ λ£ λ°©λ²
- μ€λ₯ λ°μ μ νμΈν΄μΌ ν μ¬ν
- κ³ κΈ νμ©μ μν μΆκ° ν
- νΉμ μκ° λκΈ°: μ’ν μ°ΎκΈ°μ μ€μμ±
- λ°λ³΅λ¬Έ(Loop)μ νμ©ν λ€μ€ μ μ²
1. λ§€ν¬λ‘, μ νμνκ°μ?
λ°λ³΅ μμ μ μ§λ£¨ν¨κ³Ό μκ° λλΉ ν΄μ
μ¨λΌμΈμμ μ΄λ²€νΈλ μκ° μ μ², νΉμ νΉμ μλΉμ€μ λ°λ³΅μ μΈ μ μ² κ³Όμ μ κ²½νν΄ λ³΄μ μ μ΄ μμΌμ€ κ²λλ€. λͺ μ΄ λλ λͺ λΆ κ°κ²©μΌλ‘ λκ°μ λ²νΌμ ν΄λ¦νκ³ , λκ°μ μ 보λ₯Ό μ λ ₯ν΄μΌ νλ μμ μ μ§λ£¨ν¨μ λμ΄ μκ° λλΉλ‘ μ΄μ΄μ§λλ€. λ§€ν¬λ‘λ μ΄λ¬ν λ¨μ λ°λ³΅ μμ μ μ»΄ν¨ν°κ° λμ νλλ‘ λͺ λ Ήνμ¬ μ¬μ©μκ° κ·μ€ν μκ°μ λ€λ₯Έ μμ°μ μΈ μΌμ μ§μ€ν μ μλλ‘ λμ΅λλ€. νΉν μ μ°©μ μ μ²μ κ²½μ°, μ¬λμ΄ μ§μ ν΄λ¦νλ κ²λ³΄λ€ λ§€ν¬λ‘κ° ν¨μ¬ λΉ λ₯΄κ³ μ ννκ² λμν μ μμ΄ μ±κ³΅λ₯ μ λΉμ½μ μΌλ‘ λμ¬μ€λλ€.
μ€λ₯ μ΅μνμ μ νμ± ν₯μ
μ¬λμ΄ μ§μ μμ μ μνν λλ νμ°μ μΌλ‘ μ€ν, ν΄λ¦ μ€μ λ± **’μΈμ μ€λ₯’**κ° λ°μν μ μμ΅λλ€. νΉν μ μ² λ§κ°μ΄ μλ°νκ±°λ κ²½μμ΄ μΉμ΄ν μν©μμλ μ¬λ¦¬μ μΈ μλ°κ° λλ¬Έμ μ€μκ° λμ± μ¦μμ§λλ€. λ§€ν¬λ‘λ ν λ² μ ννκ² μμ±λλ©΄ μ€λ₯ μμ΄ λμΌν μμμ μλλ‘ μμ μ μ²λ¦¬ν©λλ€. μ΄λ μ μ² κ³Όμ μ μ νμ±μ κ·Ήλννκ³ , μ€μλ₯Ό λ§ννκΈ° μν΄ μκ°μ λλΉν νμκ° μκ² λ§λλλ€. λ§€ν¬λ‘λ₯Ό μ΄μ©νλ©΄ μ°°λμ μκ°μ λͺ¨λ μ μ°¨λ₯Ό μλ²½νκ² μ΄νν μ μμ΅λλ€.
2. κ°μ₯ μ¬μ΄ λ§€ν¬λ‘ μ μ λꡬ μ ννκΈ°: ‘AutoHotkey’ μ λ¬Έ
AutoHotkeyλ 무μμΈκ°μ?
μλ§μ λ§€ν¬λ‘ νλ‘κ·Έλ¨ μ€μμλ **AutoHotkey(AHK)**λ λ°°μ°κΈ° μ½κ³ , κ°λ ₯νλ©°, κ°μ₯ λ리 μ¬μ©λλ λꡬ μ€ νλμ λλ€. AHKλ μ¬μ©μκ° μμ±ν μ€ν¬λ¦½νΈ νμΌμ λ°νμΌλ‘ ν€λ³΄λ μ λ ₯, λ§μ°μ€ ν΄λ¦, μ°½ μ μ΄ λ± μ»΄ν¨ν°μ κ±°μ λͺ¨λ λμμ μλνν μ μκ² ν΄μ£Όλ λ¬΄λ£ μ€ν μμ€ μ νΈλ¦¬ν°μ λλ€. 볡μ‘ν νλ‘κ·Έλλ° μ§μμ΄ μμ΄λ κ°λ¨ν λͺ λ Ήμ΄ μ‘°ν©λ§μΌλ‘ κ°λ ₯ν μ μ² λ§€ν¬λ‘λ₯Ό λ§λ€ μ μλ€λ μ μ΄ κ°μ₯ ν° μ₯μ μ λλ€. νΉν μ€ν¬λ¦½νΈ νμΌμ μ©λμ΄ λ§€μ° μκ³ μμ€ν 리μμ€λ₯Ό κ±°μ μ¬μ©νμ§ μμ μΎμ νκ² μ¬μ©ν μ μμ΅λλ€.
μ€μΉ λ° κΈ°λ³Έ νκ²½ μ€μ
AutoHotkey 곡μ μΉμ¬μ΄νΈμμ μ€μΉ νμΌμ λ€μ΄λ‘λνμ¬ μ€νν©λλ€. μ€μΉ κ³Όμ μ λ§€μ° κ°λ¨νλ©°, κΈ°λ³Έ μ€μ μΌλ‘ μ§νν΄λ 무방ν©λλ€. μ€μΉλ₯Ό μλ£ν νμλ AHK μ€ν¬λ¦½νΈ νμΌμ μμ±ν΄μΌ ν©λλ€. λ°ννλ©΄ λλ μνλ ν΄λμμ λ§μ°μ€ μ€λ₯Έμͺ½ ν΄λ¦ > μλ‘ λ§λ€κΈ° > AutoHotkey Scriptλ₯Ό μ ννλ©΄ νμ₯μκ° .ahkμΈ νμΌμ΄ μμ±λ©λλ€. μ΄ νμΌμ λ§μ°μ€ μ€λ₯Έμͺ½ ν΄λ¦ ν Edit Scriptλ₯Ό μ ννλ©΄ λ©λͺ¨μ₯ λ±μ ν
μ€νΈ νΈμ§κΈ°κ° μ΄λ¦¬λ©΄μ λ§€ν¬λ‘ μ½λλ₯Ό μμ±ν μ€λΉκ° μλ£λ©λλ€.
3. μ μ² λ§€ν¬λ‘μ ν΅μ¬ μ리 μ΄ν΄νκΈ°
ν€λ³΄λ λ° λ§μ°μ€ λμ κΈ°λ‘
μ μ² λ§€ν¬λ‘μ κΈ°λ³Έ μ리λ μ¬λμ΄ μ μ²νλ κ³Όμ μ μ»΄ν¨ν°μκ² μμλλ‘ λ°λΌ νλλ‘ μ§μνλ κ²μ
λλ€. μλ₯Ό λ€μ΄, ‘νΉμ λ²νΌ ν΄λ¦’ -> ‘ID μ
λ ₯’ -> ‘λΉλ°λ²νΈ μ
λ ₯’ -> ‘λ‘κ·ΈμΈ λ²νΌ ν΄λ¦’μ μμκ° μλ€λ©΄, λ§€ν¬λ‘λ μ΄ μμλλ‘ λ§μ°μ€ μ’νλ₯Ό μ§μ νκ³ ν€λ³΄λ μ
λ ₯μ νλ΄ λ΄μΌ ν©λλ€. AHKμμλ Send λͺ
λ Ήμ΄λ‘ ν€λ³΄λ μ
λ ₯μ, Click λͺ
λ Ήμ΄λ‘ λ§μ°μ€ ν΄λ¦μ μ μ΄ν©λλ€. μ΄λ μ€μν κ²μ μ λ μ’νλ₯Ό μ¬μ©νλ κ²μ
λλ€. λͺ¨λν°μ ν΄μλλ μ°½μ μμΉκ° λ°λλ©΄ λ§€ν¬λ‘κ° μλ±ν κ³³μ ν΄λ¦ν μ μμΌλ―λ‘, λ§€ν¬λ‘λ₯Ό μ€νν λλ νμ νΉμ μ°½μ μ ν΄μ§ μμΉμ ν¬κΈ°λ‘ λμ λλ κ²μ΄ μ€μν©λλ€.
λκΈ° μκ°(Sleep)μ μ€μμ±
λ§€ν¬λ‘λ₯Ό μμ±ν λ κ°μ₯ κ°κ³ΌνκΈ° μ¬μ°λ©΄μλ μ€μν μμκ° λ°λ‘ **λκΈ° μκ°(Sleep)**μ
λλ€. μ»΄ν¨ν°μ μ²λ¦¬ μλλ λ§€μ° λΉ λ₯΄κΈ° λλ¬Έμ, ν λͺ
λ Ήμ μ€ννμλ§μ λ€μ λͺ
λ Ήμ λ΄λ¦¬λ©΄ μΉμ¬μ΄νΈλ νλ‘κ·Έλ¨μ΄ μμ§ μ΄μ λͺ
λ Ήμ μ²λ¦¬νλ μ€μ΄κ±°λ λ€μ νλ©΄μΌλ‘ μ νλμ§ μμ μνμΌ μ μμ΅λλ€. μλ₯Ό λ€μ΄, ‘λ‘κ·ΈμΈ λ²νΌ ν΄λ¦’ ν νμ΄μ§κ° λ‘λ©λ μκ°μ μ£Όμ§ μκ³ ‘μ μ² λ²νΌ ν΄λ¦’ λͺ
λ Ήμ λ°λ‘ μ€ννλ©΄ μ μ² λ²νΌμ μ°Ύμ§ λͺ»ν΄ μ€λ₯κ° λ°μν©λλ€. Sleep, 1000μ 1000λ°λ¦¬μ΄(1μ΄) λμ μ무 μμ
λ νμ§ μκ³ λκΈ°νλΌλ λͺ
λ Ήμ΄μ
λλ€. μΉμ¬μ΄νΈμ λ‘λ© μλλ μλ² λ°μ μλλ₯Ό κ³ λ €νμ¬ μΆ©λΆν λκΈ° μκ°μ λΆμ¬νλ κ²μ΄ μμ μ μΈ λ§€ν¬λ‘ μλμ ν΅μ¬μ
λλ€.
4. μ€μ ! μμ£Ό μ¬μ΄ μ μ² λ§€ν¬λ‘ μ μ λ¨κ³
1λ¨κ³: μ€ν¬λ¦½νΈ νμΌ μμ± λ° μ΄κΈ°
μμ μ€λͺ
ν λλ‘ .ahk μ€ν¬λ¦½νΈ νμΌμ μμ±νκ³ Edit Scriptλ₯Ό λλ¬ νΈμ§κΈ°λ₯Ό μ½λλ€. μ€ν¬λ¦½νΈ νμΌμ κ°μ₯ μλ¨μλ λ§€ν¬λ‘κ° μ€νλλ λ°©μμ μ€μ νλ μ½λλ₯Ό μΆκ°νλ κ²μ΄ μΌλ°μ μ
λλ€.
#NoEnv ; κΆμ₯λλ μ΄κΈ° μ€μ μ
λλ€.
SendMode Input ; λ λΉ λ₯΄κ³ μμ μ μΈ μ μ‘ λͺ¨λλ₯Ό μ¬μ©ν©λλ€.
SetWorkingDir %A_ScriptDir% ; μ€ν¬λ¦½νΈμ μμ
λλ ν 리λ₯Ό μ€μ ν©λλ€.
2λ¨κ³: κΈ°λ³Έ λ¬Έλ² μ΅νκΈ° (Send, Click, Sleep)
μ μ² λ§€ν¬λ‘μ νμμ μΈ AHKμ κΈ°λ³Έ λͺ λ Ήμ΄λ₯Ό μμ§ν©λλ€.
Send, {λ¬Έμμ΄}: ν€λ³΄λ μ λ ₯μ μ μ‘ν©λλ€. μ:Send, myID123Send, {Enter}: Enter ν€λ₯Ό λλ¦ λλ€. νΉμ ν€λ μ€κ΄νΈ{}λ‘ κ°μλλ€. μ:Send, {Tab}(λ€μ μ λ ₯ νλλ‘ μ΄λ)Click, xμ’ν yμ’ν: νλ©΄μ νΉμ μ’νλ₯Ό λ§μ°μ€ μΌμͺ½ λ²νΌμΌλ‘ ν΄λ¦ν©λλ€. μ’νλ ν½μ λ¨μμ λλ€. μ:Click, 500 300Sleep, λ°λ¦¬μ΄: μ§μ λ μκ°λ§νΌ λκΈ°ν©λλ€. 1000μ 1μ΄μ λλ€. μ:Sleep, 500(0.5μ΄ λκΈ°)
3λ¨κ³: μ μ² κ³Όμ κΈ°λ‘ λ° μ€ν¬λ¦½νΈ μμ±
μ΄μ μ€μ μ μ² κ³Όμ μ νλμ© κΈ°λ‘νλ©° μ€ν¬λ¦½νΈλ₯Ό μμ±ν©λλ€. μλ₯Ό λ€μ΄, ‘F1’ ν€λ₯Ό λλ μ λ λ§€ν¬λ‘κ° μ€νλλλ‘ μ€μ νλ €λ©΄ λ€μκ³Ό κ°μ΄ μμν©λλ€.
- μ€ν ν€ μ€μ :
F1::(F1 ν€λ₯Ό λλ₯΄λ©΄ μλ λͺ λ Ήμ΄ μ€νλ©λλ€.) - μ°½ νμ±ν: μ μ² νμ΄μ§κ° μ΄λ €μλ μΉ λΈλΌμ°μ μ°½μ νμ±νν©λλ€. AHKμ
WinActivate, μ°½ μ λͺ©λͺ λ Ήμ΄λ₯Ό μ¬μ©ν μ μμ΅λλ€. - ID μ
λ ₯ νλλ‘ μ΄λ:
Clickλͺ λ Ήμ΄λSend, {Tab}μ μ΄μ©ν΄ ID μ λ ₯ νλλ₯Ό μ νν©λλ€. (Tab ν€λ₯Ό μ¬λ¬ λ² λλ¬ μ΄λν μλ μμ΅λλ€.) - ID μ
λ ₯:
Send, yourIDhere - Tab μ΄λ λ° λΉλ°λ²νΈ μ
λ ₯:
Send, {Tab}νSend, yourPWhere - λ‘κ·ΈμΈ λ²νΌ ν΄λ¦: λ‘κ·ΈμΈ λ²νΌμ μ’νλ₯Ό μ°Ύμμ
Click, xμ’ν yμ’νλͺ λ Ήμ μ¬μ©ν©λλ€. - νμ΄μ§ λ‘λ© λκΈ°:
Sleep, 2000(2μ΄ λκΈ°) - μ μ² λ²νΌ ν΄λ¦: μ μ² λ²νΌμ μ’νλ₯Ό μ°Ύμμ
Click, μ μ²λ²νΌ_x μ μ²λ²νΌ_y
μμ μ€ν¬λ¦½νΈ ꡬ쑰:
F1:: ; 1. λ‘κ·ΈμΈ νμ΄μ§λ‘ μ΄λ (μ΄λ―Έ λμ΄μλ€κ³ κ°μ ) WinActivate, μ μ² νμ΄μ§ μ λͺ© - Google Chrome ; μ μ² μ°½ νμ±ν Sleep, 500; 2. ID μ λ ₯
Click, 500 300 ; ID νλ μ’ν ν΄λ¦
Send, testuser123
Sleep, 100; 3. PW μ λ ₯
Send, {Tab} ; λ€μ νλλ‘ μ΄λ
Send, secretpass1
Sleep, 100; 4. λ‘κ·ΈμΈ λ²νΌ ν΄λ¦
Click, 500 400 ; λ‘κ·ΈμΈ λ²νΌ μ’ν ν΄λ¦
Sleep, 2000 ; νμ΄μ§ λ‘λ© λκΈ°; 5. μ΅μ’ μ μ² λ²νΌ ν΄λ¦
Click, 700 500 ; μ μ² λ²νΌ μ’ν ν΄λ¦return ; λ§€ν¬λ‘ μ’ λ£
μ’ν μ°ΎκΈ° ν: λ§μ°μ€ 컀μμ νμ¬ μ’νλ₯Ό μ½κ² μ μ μλλ‘ AHKμ κΈ°λ³Έ ν¬ν¨λ Window Spy λꡬλ₯Ό μ¬μ©νκ±°λ, μΈν°λ·μμ μ 곡λλ κ°νΈν ν½μ μ’ν μΆμΆ νλ‘κ·Έλ¨μ νμ©νμΈμ.
5. λ§€ν¬λ‘ μ€ν λ° λλ²κΉ (μ€λ₯ μμ ) ν
λ§€ν¬λ‘ μ€ν λ° μΌμ μ μ§/μ’ λ£ λ°©λ²
μμ±λ .ahk νμΌμ λλΈ ν΄λ¦νλ©΄ λ§€ν¬λ‘κ° μ€νλ©λλ€. μ€νλλ©΄ μλμ° μμ
νμμ€μ μμ€ν
νΈλ μ΄(μκ³ μ)μ AHK μμ΄μ½(λ
Ήμ ‘H’ λͺ¨μ)μ΄ λνλ©λλ€. μ΄ μμ΄μ½μ λ§μ°μ€ μ€λ₯Έμͺ½ λ²νΌμΌλ‘ ν΄λ¦νλ©΄ Suspend Hotkeys (λ¨μΆν€ μΌμ μ μ§)λ Exit (λ§€ν¬λ‘ μ’
λ£)λ₯Ό μ νν μ μμ΅λλ€. λ§€ν¬λ‘κ° μμμΉ λͺ»ν λμμ νκ±°λ 무ν 루νμ λΉ μ‘μ λ κ°μ λ‘ μ’
λ£ν μ μλ κ°μ₯ νμ€ν λ°©λ²μ
λλ€.
μ€λ₯ λ°μ μ νμΈν΄μΌ ν μ¬ν
- μ’νμ μ νμ±: κ°μ₯ νν μ€λ₯ μμΈμ λλ€. λ§€ν¬λ‘ μ€ν μ μ°½μ μμΉμ ν¬κΈ°κ° μ€ν¬λ¦½νΈ μμ± λΉμμ λμΌνμ§ λ°λμ νμΈνμΈμ. ν΄μλκ° λ¬λΌμ§λ©΄ μ’νλ λ¬λΌμ§λλ€.
- λκΈ° μκ° λΆμ‘±: λ‘λ© μλκ° λλ¦° νμ΄μ§λΌλ©΄
Sleepμκ°μ λλ €μ€μΌ ν©λλ€. λͺ λ Ήμ΄ λ무 λΉ λ₯΄κ² μ€νλμ΄ μΉνμ΄μ§κ° λ°λΌμ€μ§ λͺ»νλ κ²½μ°κ° λ§μ΅λλ€. - λ¬Έλ² μ€λ₯: AHK μ€ν¬λ¦½νΈλ μμ£Ό μμ μ€νλ λμ΄μ°κΈ°μλ λ―Όκ°νκ² λ°μν©λλ€. λͺ λ Ήμ΄, μΌν, μ€κ΄νΈ λ±μ΄ μ νν λ¬Έλ²μ λ°λ₯΄κ³ μλμ§ κΌΌκΌΌνκ² κ²ν νμΈμ.
- μ°½ νμ±ν λ¬Έμ :
WinActivateλͺ λ Ήμ μ¬μ©νμμλ μ°½μ΄ μ λλ‘ νμ±νλμ§ μκ±°λ, λ€λ₯Έ μ°½μ΄ λ°©ν΄νλμ§ νμΈνμΈμ.
6. κ³ κΈ νμ©μ μν μΆκ° ν
νΉμ μκ° λκΈ°: μ’ν μ°ΎκΈ°μ μ€μμ±
μ μ°©μ μ μ²μ μ νν μκ°μ μμνλ κ²μ΄ μ€μν©λλ€. νΉμ μκ°μ΄ λ λκΉμ§ λ§€ν¬λ‘λ₯Ό λκΈ°μν€λ λ°©λ²μ λ κ°μ§κ° μμ΅λλ€.
- κΈ΄ Sleep μ¬μ©: μ μ² μμ μκ° μ§μ κΉμ§
Sleepλͺ λ Ήμ΄λ‘ λκΈ°μν΅λλ€. μ: μμ 5λΆ μ μ΄λΌλ©΄Sleep, 300000(5λΆ) - μκ° λΉκ΅: AHKμ λ΄μ₯ λ³μμ
If쑰건μ μ¬μ©νμ¬ νμ¬ μκ°μ΄ λͺ©ν μκ°μ΄ λ λκΉμ§ λ°λ³΅μ μΌλ‘ νμΈνλ κ³ κΈ μ€ν¬λ¦½ν λ κ°λ₯ν©λλ€.
λ°λ³΅λ¬Έ(Loop)μ νμ©ν λ€μ€ μ μ²
λ§μ½ ν λ²μ μ μ²μΌλ‘ λλμ§ μκ³ μ¬λ¬ λ²μ μ μ²μ΄λ μλ‘κ³ μΉ¨μ΄ νμν κ²½μ° Loop λͺ
λ Ήμ μ¬μ©ν μ μμ΅λλ€.
F2::
Loop, 5 ; μλμ λͺ
λ Ήμ 5ν λ°λ³΅ν©λλ€.
{
; μ¬κΈ°μ μ μ² κ³Όμ μ€ν¬λ¦½νΈ (ν΄λ¦, μ
λ ₯ λ±)λ₯Ό λ£μ΅λλ€.
Click, μ μ²λ²νΌ_x μ μ²λ²νΌ_y
Sleep, 3000 ; λ€μ μ μ²μ μν΄ 3μ΄ λκΈ°
}
return
Loop λͺ
λ Ήμ λ§€ν¬λ‘λ₯Ό ν¨μ¬ κ°λ ₯νκ² λ§λ€μ΄μ£Όλ©°, νΉν μ μ°©μ μ μ²μμ ‘κ΄ν΄(λΉ λ₯Έ λ°λ³΅ ν΄λ¦)’μ΄ νμν λ μ μ©νκ² νμ©ν μ μμ΅λλ€. νμ§λ§ μλ²μ κ³ΌλΆνλ₯Ό μ£Όκ±°λ μ½κ΄ μλ° μμ§κ° μμ μ μμΌλ―λ‘, μ μ ν **λκΈ° μκ°(Sleep)**μ λμ΄ μ¬μ©νλ κ²μ΄ λ°λμ§ν©λλ€.