2024. 9. 11. 03:32ㆍ오토핫키 중급
오토핫키를 이용해서 비활성 창을 클릭하고 명령을 보내 비활성를 유지하면서 창을 원하는대로 컨트롤 할 수 있습니다.
우선 비활성 클릭부터 시작하여 비활성 명령에 관하여 설명하고 이 내용을 직접 테스트 해볼 수 있는 간단한 프로그램까지 스트립트까지 제공해 드리겠습니다.
아래의 내용을 활용하면 오토핫키를 이용한 비활성 매크로를 스스로 제작 할 수 있습니다.
오토핫키를 이용한 비활성 클릭
오토핫키(AutoHotkey)로 비활성 상태인 창 안의 특정 좌표를 클릭하려면 ControlClick 명령어를 사용하면 됩니다. 이 명령어는 창을 활성화하지 않고도 특정 좌표를 클릭할 수 있도록 도와줍니다. 아래에 설명과 예시 스크립트를 제공하겠습니다.
설명
ControlClick 명령어는 다음과 같은 형식으로 사용됩니다:
ControlClick, [Control], WinTitle, WinText, Button, ClickCount, Options, ExcludeTitle, ExcludeText
- Control: 클릭할 컨트롤의 이름입니다. 특정 컨트롤을 지정하지 않으면 전체 창을 대상으로 합니다.
- WinTitle: 대상 창의 제목입니다.
- WinText: 창 내부의 텍스트입니다.
- Button: 클릭할 마우스 버튼 ("Left", "Right", "Middle")입니다.
- ClickCount: 클릭 횟수입니다.
- Options: 클릭 좌표를 지정할 수 있는 옵션입니다. xN yN 형식으로 사용합니다.
- ExcludeTitle: 제외할 창의 제목입니다.
- ExcludeText: 제외할 창의 텍스트입니다.
예시 스크립트 1
아래는 비활성 상태의 메모장 창에서 특정 좌표를 클릭하는 예시 스크립트입니다.
; 메모장(Notepad) 창에서 특정 좌표를 클릭하는 예시
SetTitleMatchMode, 2 ; 창 제목의 일부분만으로도 매칭되도록 설정
; 비활성 상태의 메모장 창에서 (100, 200) 좌표를 클릭
ControlClick, x100 y200, Untitled - Notepad,, Left, 1
; 위 예시에서 "Untitled - Notepad"는 메모장 창의 제목입니다.
; "x100 y200"은 클릭할 좌표입니다.
위 스크립트는 "Untitled - Notepad"라는 제목을 가진 비활성 상태의 메모장 창에서 (100, 200) 좌표를 클릭합니다. 창 제목은 실제 환경에 맞추어 변경해야 합니다.
이 스크립트를 사용하여 원하는 창과 좌표에 맞게 조정하면 비활성 상태의 창을 클릭할 수 있습니다.
예시 스크립트 2 (비활성 클릭 테스트 프로그램)
사용자가 GUI 창을 통해 비활성 창의 특정 좌표를 클릭하는 것을 테스트할 수 있도록 오토핫키 스크립트를 작성할 수 있습니다. 이 스크립트는 사용자에게 클릭할 창의 제목과 좌표를 입력받아 ControlClick 명령어를 실행합니다.
아래는 그런 기능을 제공하는 예시 스크립트입니다:
; GUI를 통해 비활성 창의 특정 좌표를 클릭하는 스크립트
; GUI 생성
Gui, Add, Text,, 창 제목:
Gui, Add, Edit, vWinTitle
Gui, Add, Text,, X 좌표:
Gui, Add, Edit, vXCoord
Gui, Add, Text,, Y 좌표:
Gui, Add, Edit, vYCoord
Gui, Add, Button, gSubmit, 클릭 실행
Gui, Show,, 비활성 창 클릭 테스트
Return
Submit:
; 입력된 값 가져오기
Gui, Submit, NoHide
; ControlClick 실행
ControlClick, x%XCoord% y%YCoord%, %WinTitle%,, Left, 1
MsgBox, %WinTitle% 창의 (%XCoord%, %YCoord%) 좌표를 클릭했습니다.
Return
GuiClose:
ExitApp
사용 방법
- 위 스크립트를 오토핫키 스크립트 파일(.ahk)로 저장합니다.
- 스크립트를 실행하면 GUI 창이 나타납니다.
- 클릭할 창의 제목을 "창 제목" 입력란에 입력합니다.
- 클릭할 좌표를 "X 좌표"와 "Y 좌표" 입력란에 입력합니다.
- "클릭 실행" 버튼을 클릭하면 지정한 좌표가 클릭됩니다.
이 스크립트를 통해 사용자는 간단한 GUI를 통해 비활성 창의 특정 좌표를 클릭할 수 있으며, 다양한 창과 좌표를 쉽게 테스트할 수 있습니다.
예시 스크립트 3 (비활성 클릭, 비활성 명령 테스트 프로그램)
오토핫키(AutoHotkey)로 비활성 상태의 창에 클릭뿐만 아니라 명령을 보낼 수 있도록 하려면 ControlSend 명령어를 사용할 수 있습니다. ControlSend는 창을 활성화하지 않고도 특정 컨트롤이나 전체 창에 키 입력을 보낼 수 있게 해줍니다.
아래는 사용자가 GUI를 통해 비활성 창에 클릭과 키 입력 명령을 보낼 수 있는 스크립트 예시입니다:
; GUI를 통해 비활성 창에 클릭 및 명령을 보내는 스크립트
; GUI 생성
Gui, Add, Text,, 창 제목:
Gui, Add, Edit, vWinTitle
Gui, Add, Text,, X 좌표:
Gui, Add, Edit, vXCoord
Gui, Add, Text,, Y 좌표:
Gui, Add, Edit, vYCoord
Gui, Add, Text,, 보낼 명령(키 입력):
Gui, Add, Edit, vCommand
Gui, Add, Button, gClick, 클릭 실행
Gui, Add, Button, gSendCommand, 명령 실행
Gui, Add, Button, gClickAndSend, 클릭 및 명령 실행
Gui, Show,, 비활성 창 명령 테스트
Return
Click:
; 입력된 값 가져오기
Gui, Submit, NoHide
; ControlClick 실행
ControlClick, x%XCoord% y%YCoord%, %WinTitle%,, Left, 1
Return
SendCommand:
; 입력된 값 가져오기
Gui, Submit, NoHide
; ControlSend 실행
if (Command != "")
{
ControlSend,, %Command%, %WinTitle%
}
Return
ClickAndSend:
; 입력된 값 가져오기
Gui, Submit, NoHide
; ControlClick 실행
ControlClick, x%XCoord% y%YCoord%, %WinTitle%,, Left, 1
; ControlSend 실행
if (Command != "")
{
ControlSend,, %Command%, %WinTitle%
}
Return
GuiClose:
ExitApp
사용 방법
- 위 스크립트를 오토핫키 스크립트 파일(.ahk)로 저장합니다.
- 스크립트를 실행하면 GUI 창이 나타납니다.
- 클릭할 창의 제목을 "창 제목" 입력란에 입력합니다.
- 클릭할 좌표를 "X 좌표"와 "Y 좌표" 입력란에 입력합니다.
- 보낼 명령(키 입력)을 "보낼 명령(키 입력)" 입력란에 입력합니다. 예를 들어 "Hello" 또는 "{Enter}"와 같은 키 입력을 사용할 수 있습니다.
- 버튼을 클릭하면 입력한 내용대로 비활성 창에 전달됩니다.
이 스크립트를 통해 사용자는 비활성 상태의 창에 클릭과 키 입력을 모두 테스트할 수 있습니다.
검은망치 카카오톡 오픈프로필: https://open.kakao.com/o/sDUaoCNg
[오토핫키] 검은망치님의 오픈프로필
오토핫키 개발러
open.kakao.com
'오토핫키 중급' 카테고리의 다른 글
[오토핫키] 다른 이미지 여러개를 동시에 이미지서치 (3) | 2024.10.01 |
---|---|
[오토핫키] 동일한 이미지 여러개를 동시에 이미지서치 (0) | 2024.10.01 |