매크로

조회 수 1169 추천 0 댓글 9

pixelcolor

?

비활성창 내에서(최소화가 되지 않은상태) 지정좌표의 픽셀값을 얻는 명령어

?

사용볍

?

변수:=pixelcolor(비활성창내x좌표, 비활성창내y좌표, 비활성창ID)

?

스크립------------------------------------------------

?

winget, ID,ID, wintitle

result:=pixelcolor(x,y, ID)

msgbox, %result%

return

?

--------------------------------------------------------

?

이렇게만 쓰면 핫키 실행시 존재하지 않는 명령어라 나옵니다.

?

스크립 내에 밑에 함수를 넣어줘야 pixcelcolor라는 명령어를 쓸 수 있습니다.

?

?

PixelColor(pc_x, pc_y, pc_wID)
{
?If pc_wID
?{
??pc_hDC := DllCall("GetDC", "UInt", pc_wID)
??WinGetPos, , , pc_w, pc_h, ahk_id %pc_wID%
??pc_hCDC := CreateCompatibleDC(pc_hDC)
??pc_hBmp := CreateCompatibleBitmap(pc_hDC, pc_w, pc_h)
??pc_hObj := SelectObject(pc_hCDC, pc_hBmp)
??
??pc_hmCDC := CreateCompatibleDC(pc_hDC)
??pc_hmBmp := CreateCompatibleBitmap(pc_hDC, 1, 1)
??pc_hmObj := SelectObject(pc_hmCDC, pc_hmBmp)
??
??DllCall("PrintWindow", "UInt", pc_wID, "UInt", pc_hCDC, "UInt", 0)
??DllCall("BitBlt" , "UInt", pc_hmCDC, "Int", 0, "Int", 0, "Int", 1, "Int", 1, "UInt", pc_hCDC, "Int", pc_x, "Int", pc_y, "UInt", 0xCC0020)
??pc_fmtI := A_FormatInteger
??SetFormat, Integer, Hex
??DllCall("GetBitmapBits", "UInt", pc_hmBmp, "UInt", VarSetCapacity(pc_bits, 4, 0), "UInt", &pc_bits)
??pc_c := NumGet(pc_bits, 0)
??SetFormat, Integer, %pc_fmtI%

??DeleteObject(pc_hBmp), DeleteObject(pc_hmBmp)
??DeleteDC(pc_hCDC), DeleteDC(pc_hmCDC)
??DllCall("ReleaseDC", "UInt", pc_wID, "UInt", pc_hDC)
??Return pc_c
?}
}


CreateCompatibleDC(hdc=0)
{
?return DllCall("CreateCompatibleDC", "UInt", hdc)
}????

CreateCompatibleBitmap(hdc, w, h)
{
?return DllCall("CreateCompatibleBitmap", UInt, hdc, Int, w, Int, w)
}

SelectObject(hdc, hgdiobj)
{
?return DllCall("SelectObject", "UInt", hdc, "UInt", hgdiobj)
}

DeleteObject(hObject)
{
?? Return, DllCall("DeleteObject", "UInt", hObject)
}

DeleteDC(hdc)
{
?Return, DllCall("DeleteDC", "UInt", hdc)
}



List of Articles
분류 제목 글쓴이 최근변경 추천
정보 (안내) 글내용확인하시고 자삭하세요 27 snf 2015.02.23 0/0
정보 (펌)픽셀서치를 대체할 수 있는 비활성픽셀칼라 활용 ... 6 앙꼬호빵 2019.05.26 0/0
정보 adb 관련 비활성화 이미지 서치 쉽게하기 6 운하파는 2016.07.02 1/0
정보 adb를 이용한 연속 터치 및 키입력 TIP 7 하연데디 2019.03.05 1/0
정보 AHK_Helper.exe 오토핫키 도움말 프로그램 입니다. 2 월드걸스 2023.02.24 0/0
정보 Array 확장 13 모바게 2015.07.16 3/0
정보 Autohotkey에서 함수와 ByRef 사용에 대해... 12 류Macro 2015.07.12 1/0
정보 ControlSend 명령을 이용한, 카톡으로 알림받기 간단하... 10 죠케빈 2018.01.02 0/0
정보 DllCall "mouse_event" 속도조절하는 법 rkfdma 2016.12.08 0/0
정보 DynaScript - Child 프로세스로 코드 실행 13 예지력1 2019.07.16 3/0
정보 gdip 간단 응용 팁들 13 매크로맨서 2015.04.18 0/0
정보 gdip 비활성 이미지 서치, postmessage 모모 소스입니다. 6 사이다업 2021.01.23 1/0
정보 Gdip_all.ahk를 이용한 Bitmap의 size 변경 함수 6 할거엄따구 2022.12.14 1/0
정보 Gdip를 이용한 클립보드에 있는 이미지를 통한 이미지서치 11 암드래 2016.07.19 0/0
정보 GUI - 파일(폴더) 목록을 DropDownList로 만들기 14 모바게 2016.06.13 3/0
정보 Gui- dropdownlist 사용하기 기초내용 (모르시는 분만 ... 3 으뜸어린이 2017.09.07 1/0
정보 g라벨? v라벨? 설명좀해주세요 5 이리오리오 2016.10.25 0/0
정보 INI 를 쉽게 사용해봅시다. 11 모바게 2017.11.01 3/0
정보 ListBox로 로그창을 만들어보자! 고음l 2017.11.18 1/0
정보 List에 해당하는 GUI 팁 9 외치기 2015.08.24 2/0
Board Pagination Prev 1 23456 7 Next
/ 7

전체 최신 인기글

전체 주간 인기글