Skip to content
seedbala 씨드발아

SEEDBALA

정성글은 에세이에, 나머지는 막글,,, (instagram: @seedbalah)

  • 홈
  • Essay
  • 각종테스트🫰🏻
  • 식물
    • 식물 팁
    • 나의식물
  • ⌨️오토핫키🖱️
  • 여행정보
  • 기타 잡다
  • Toggle search form

오토핫키 게임 이미지서치 기본틀

Posted on 2025-07-092025-07-09 By 시드발아 오토핫키 게임 이미지서치 기본틀에 댓글 없음

오토핫키를 이용하여 바탕화면속 설정된 범위내에
내가 적용한 이미지를 서치하여 같은 폴더내 이미지.png가 발견되었을때만
정해놓은 입력이 들어가도록 만든 스크립트 입니다.
(이 글은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.)


;이 아래 쭉 복사
#Persistent
#SingleInstance Force
#NoEnv

global iniFile := A_ScriptDir . “\settings.ini”
global searchArea := {} ; 이미지 검색 영역
global searchActive := false ; 이미지 서치 활성화 여부
global imgPath := A_ScriptDir . “\이미지.PNG” ; 부활 이미지 경로

; 실행 시 ini에서 영역 불러오기
LoadAreaFromIni()

Gui, +AlwaysOnTop
Gui, Add, Button, x10 y10 w80 h30 gSetResurrectionArea, 서치 범위설정
Gui, Add, Button, x100 y10 w100 h30 gToggleSearch, 이미지서치 시작/중지
Gui, Show, w220 h60
return

SetResurrectionArea:
Gui +OwnDialogs
MsgBox, 64, 부활 영역 설정, Shift 키를 누른 상태에서 마우스로 드래그하여 부활 이미지 검색 영역을 선택하세요.
CoordMode, Mouse, Screen

; 반투명 빨간 네모 박스 GUI 생성
Gui, 2: New, -Caption +ToolWindow +AlwaysOnTop
Gui, 2: Color, Red
Gui, 2: Show, NoActivate
Gui2Hwnd := WinExist(“ahk_class AutoHotkeyGUI”)
WinSet, Transparent, 150, ahk_id %Gui2Hwnd%


; 드래그 시작 감지
Loop {
GetKeyState, ShiftState, Shift, P
GetKeyState, LButtonState, LButton, P
if (ShiftState = “D” && LButtonState = “D”) {
MouseGetPos, x1, y1
Break
}
Sleep, 10
}

; 드래그 중 반투명 박스 업데이트
Loop {
MouseGetPos, x2, y2
w := Abs(x2 – x1), h := Abs(y2 – y1)
x := (x1 < x2) ? x1 : x2
y := (y1 < y2) ? y1 : y2

if (w > 5 && h > 5) { ; 최소 크기 제한
Gui, 2: Show, x%x% y%y% w%w% h%h% NoActivate
WinSet, Transparent, 150, ahk_id %Gui2Hwnd%
}

GetKeyState, LButtonState, LButton, P
if (LButtonState = “U”) {
Break
}
Sleep, 10
}

Gui, 2: Destroy ; GUI 삭제

; 좌표 정리
if (x1 > x2)
temp := x1, x1 := x2, x2 := temp
if (y1 > y2)
temp := y1, y1 := y2, y2 := temp

if ((x2 – x1) < 5 || (y2 – y1) < 5) {
MsgBox, 16, 오류, 선택한 영역이 너무 작습니다. 다시 설정해 주세요.
return
}

global searchArea := {x1: x1, y1: y1, x2: x2, y2: y2}
SaveAreaToIni()
MsgBox, 64, 설정 완료, 이미지검색 영역이 설정 및 저장되었습니다!`n(%x1%, %y1%) → (%x2%, %y2%)

Return


ToggleSearch:
searchActive := !searchActive
if (searchActive) {
if (!searchArea.HasKey(“x1”)) {
MsgBox, 16, 오류, 먼저 이미지 검색 영역을 설정해 주세요!
searchActive := false
return
}
ToolTip, 이미지서치 시작!
SetTimer, ImageSearchLoop, 300
} else {
ToolTip, 이미지서치 중지!
SetTimer, ImageSearchLoop, Off
Sleep, 800
ToolTip
}
Sleep, 800
ToolTip
return

;——-이 아래부분(ImageSearchLoop:) 이 이미지 발견시 입력할 내용 적는곳

ImageSearchLoop:
if (!searchActive || !searchArea.HasKey(“x1”))
return

; 객체 값을 변수로 치환
x1 := searchArea.x1
y1 := searchArea.y1
x2 := searchArea.x2
y2 := searchArea.y2

CoordMode, Pixel, Screen
CoordMode, Mouse, Screen

ImageSearch, foundX, foundY, %x1%, %y1%, %x2%, %y2%, %imgPath%
if (ErrorLevel = 0) {


;————————- (여기부터)이 구분선 사이를 수정하면 됩니다.———————————
ToolTip, 이미지 발견!
} else {
ToolTip, 이미지 발견 안됨!
}
Sleep, 1000
ToolTip

;————————-(여기 사이)이 구분선 사이를 수정하면 됩니다.———————————

return

; ———- 저장 및 불러오기 함수 ———-

SaveAreaToIni() {
global searchArea, iniFile
if (searchArea.HasKey(“x1”)) {
areaText := searchArea.x1 . “,” . searchArea.y1 . “,” . searchArea.x2 . “,” . searchArea.y2
IniWrite, %areaText%, %iniFile%, SearchArea, Resurrection
}
}

LoadAreaFromIni() {
global searchArea, iniFile
IniRead, coords, %iniFile%, SearchArea, Resurrection,
if (coords != “”) {
arr := StrSplit(coords, “,”)
if (arr.MaxIndex() = 4) {
searchArea := {x1: arr[1], y1: arr[2], x2: arr[3], y2: arr[4]}
}
}
}

GuiClose:
ExitApp


사용법

  1. 서치할 이미지를 준비한다.
    예:

딱 저것과 같은 크기의 같은 이미지만 서치되므로 직접 캡쳐해서 준비한다(윈도우 기본캡쳐도구 추천)
이미지는 오토핫키 스크립트와 같은 폴더에 있어야 하며 이미지 이름과 확장자는 이미지.png 이다.

2.스크립트를 실행한다.
3.서치범위 설정버튼을 누르고 쉬프트+마우스 좌클릭 드래그로 서치를 할 영역을 설정한다.
4. 이미지를 해당범위안에 보이게 했다 안보이게했다 반복하며 테스트해본다.
5.정상작동한다면 마우스커서위에 이미지발견! 이라는 툴팁이 보인다.

추가설명

ToolTip, 이미지 발견!
} else {
ToolTip, 이미지 발견 안됨!
}
Sleep, 1000
ToolTip
이 부분을 모두 지우고 이미지 발견시 작동할 내용으로 적어넣으면 됩니다.

예: 이미지가 발견되면 – 숫자 1 누르고 조금 쉬고 엔터 누르기
Send, 1 ;1 누르고
Sleep, 50 ;50ms 쉬고
Send, {Enter} ;엔터 눌러라

이런식으로만 딱 적으면 됩니다.


하시다가 어려운 부분있거나 궁금한점 있으면 댓글로 남겨주세요. 다음글의 좋은 소재가 됩니다.

Ahk

글 내비게이션

Previous Post: 나라별 결혼식 풍습 (축의금/결혼선물 문화 포함)
Next Post: 🇬🇭 가나(Ghana)여행 현지물가,여행지,음식 등 모든정보!

More Related Articles

오토핫키 게임 자동 스킬 반복 스크립트
오토핫키로 만드는 키보드 터보 (터보키)
오토핫키 쉽게쓰기 Gui(창) 이용하기! + 일시정지기능

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Copyright © 2025 SEEDBALA.

Powered by PressBook Green WordPress theme