유용한 매크로 / macro / exmples / dictionary / dict /dic
autohokey 예시들
; from : https://www.autohotkey.com/docs/commands/KeyWait.htm#ExDouble
; 마우스왼쪽버튼(Lbutton) 을 누르면, 매크로가 시작된다.
; 이전에 눌렸던 키가 Lbutton 이면서 400초 이내에 눌렀으면
; MsgBox 를 보여준다.
; 그렇지 않은 경우에는 그냥 Lbutton 이 눌렸다는 event 를 보내준다.
Lbutton::
if (A_PriorHotkey != "Lbutton" or A_TimeSincePriorHotkey > 400)
{
; 그냥 Lbutton 전송
mouseclick, left
return
}
; 더블클릭 인식
Send !tab
return
; 마우스 가운데 버튼을 누르면 현재 텍스트를 복사하고, firefox 로 붙여넣기 한다.
SendKey2FF(key)
{
If WinActive("ahk_class MozillaWindowClass")
{
Send %key%
return true
}
return false
}
Mbutton::
Send ^c ; ctrl+c
Send !{Tab}
Sleep, 500
ret := SendKey2FF("^v{enter}") ;key 를 보내고, 사용
Send !{Tab}
return
; ref: https://autohotkey.com/board/topic/75360-how-to-know-the-x-y-coordinate-of-my-screen/
; 함수를 사용
; 계속 떠 있으면서, 1초마다 현재 내 좌표를 툴팁(tooltip)으로 알려준다.
#singleinstance force
#Persistent
SeeCursorCoord()
{
MouseGetPos, xpos, ypos
ToolTip, xpos: %xpos%`nypos: %ypos%
}
SetTimer, SeeCursorCoord, 1000
; text 를 선택하고, 마우스 가운데 버튼을 누르면,
; alt+tab 을 하고 '붙여넣기' 를 하고, 다시 alt+tab 을 한다.
; First macro
SendKey2FF(key)
{
If WinActive("ahk_class MozillaWindowClass")
{
Send %key%
return true
}
return false
}
Test(a)
{
return "test"
}
Mbutton::
Send ^c ; ctrl+c
Send !{Tab}
Sleep, 500
ret := SendKey2FF("^v{enter}") ;key 를 보내고, 사용
Send !{Tab}
return
#Requires AutoHotkey v2
#SingleInstance Force
;================================================================================
; ★★★ 필수 설정 값 (사용자 환경에 맞게 반드시 수정해야 합니다!) ★★★
; Window Spy로 전달 팝업의 크기 및 '보내기' 버튼의 상대 위치를 확인하세요.
;--------------------------------------------------------------------------------
POPUP_W := 365 ; 전달 팝업 창의 예상 너비 (픽셀)
POPUP_H := 590 ; 전달 팝업 창의 예상 높이 (픽셀)
SEND_REL_X := 300 ; 팝업 창의 왼쪽 상단(0,0) 기준 '보내기' 버튼의 상대 X 좌표
SEND_REL_Y := 570 ; 팝업 창의 왼쪽 상단(0,0) 기준 '보내기' 버튼의 상대 Y 좌표
; SEND_REL_X := 714 ; '보내기' 버튼의 상대 X 좌표 (예시 값)
; SEND_REL_Y := 831 ; '보내기' 버튼의 상대 Y 좌표 (예시 값)
;================================================================================
SearchTarget := "저장한 메시지"
F1::
{
; 1. 메시지를 클릭하여 '전달' 팝업을 띄웁니다.
Click
Sleep 500
; 2. 팝업 창에서 '투노'를 입력하고 엔터를 누릅니다.
Send SearchTarget "{Enter}"
Sleep 500
; --- 상대 좌표 설정 및 클릭 시작 ---
; 텔레그램 전달 팝업 창의 제목 또는 Class를 확인하여 변수에 저장합니다.
; (대부분의 텔레그램 팝업은 메인 창과 동일한 Class를 사용합니다.)
; 텔레그램 창 활성화 및 확인
TelegramWindow := "ahk_exe Telegram.exe"
WinActivate TelegramWindow
if !WinExist(TelegramWindow) {
ToolTip "오류: 텔레그램 창을 찾을 수 없습니다."
Sleep 1500
ToolTip
return
}
; 2. 텔레그램 메인 창의 위치와 크기를 가져옵니다.
; Main_X, Main_Y: 메인 창의 절대 시작 좌표
WinGetPos &Main_X, &Main_Y, &Main_W, &Main_H, TelegramWindow
; 3. 팝업 창의 절대 시작 좌표를 계산합니다. (메인 윈도우 중앙 정렬)
; 팝업 시작 X = 메인 시작 X + (메인 너비 / 2) - (팝업 너비 / 2)
Popup_Abs_X := Floor(Main_W / 2) - Floor(POPUP_W / 2)
; 팝업 시작 Y = 메인 시작 Y + (메인 높이 / 2) - (팝업 높이 / 2)
Popup_Abs_Y := Floor(Main_H / 2) - Floor(POPUP_H / 2)
; 5. '보내기' 버튼의 최종 절대 좌표를 계산합니다.
; 버튼 절대 X = 팝업 시작 절대 X + 팝업 내 버튼 상대 X
Send_Abs_X := Popup_Abs_X + SEND_REL_X
; 버튼 절대 Y = 팝업 시작 절대 Y + 팝업 내 버튼 상대 Y
Send_Abs_Y := Popup_Abs_Y + SEND_REL_Y
; Debug
; 마우스를 계산된 좌표로 이동시킵니다.
; MouseMove Send_Abs_X, Send_Abs_Y
; 2초 동안 마우스를 멈춰서 사용자가 위치를 확인하게 합니다.
; Sleep 2000
; 6. 계산된 최종 절대 좌표를 클릭합니다.
Click Send_Abs_X, Send_Abs_Y
; --- 상대 좌표 설정 복원 (선택 사항) ---
; 다음 스크립트 실행에 영향을 주지 않도록 원래 모드로 되돌립니다.
CoordMode "Mouse", "Screen"
; 작업 완료 메시지
ToolTip "전달 자동화 완료 (F1) - 상대 좌표 사용"
Sleep 1500
ToolTip
}
return
댓글 없음:
댓글 쓰기