매크로

조회 수 1171 추천 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
분류 제목 글쓴이 최근변경 추천
정보 Menu bar 근접하게 만들어봄 4 fnwj 2017.11.26 0/0
정보 MsgBox 설정 3 괴리사 2016.06.08 2/0
정보 MS오피스 스타일 GUI 프로토타입 6 예지력1 2016.04.16 4/0
정보 OSD정의 및 오토핫키에서의 구현 Allyce 2017.06.08 0/0
정보 perl을 이용한 adb capture 방법 Allyce 2017.06.02 1/0
정보 pixelcolor 사용법을 알았습니다. 9 으뜸어린이 2017.09.10 0/0
정보 pixelGetColor 오차범위 만들기(10진수변환) 9 갈리토스 2022.07.21 0/0
정보 postmessage 질문이 와서 올립니다. (중복가능성) 12 생물 2015.01.01 2/0
정보 SciTE4AutoHotkey 프로그램 2개 실행하기 1 치우지 2019.09.25 0/0
정보 SMTP 메일보내기 13 모바게 2020.08.10 2/0
정보 title 이 없는 프로세스 id 값 따기 압살맨블로그 2022.12.14 0/0
정보 X부터Y까지의 모든 값을 랜덤으로 입력해주는 함수 4 sudeky 2016.12.25 0/0
정보 [AHK, C#?] PostMessage를 이용해 마우스 드래그 구현... 2 Windhelm 2017.06.26 0/0
정보 [Lib] Class MsgBox, 메시지박스 확장 4 예지력1 2015.11.27 2/0
정보 [라이브러리] EasyINI 네이티브 ini 3 예지력1 2016.02.09 2/0
정보 [스압주의]추석선물입니다. 블레이드 무한메크로.... 11 앙꼬호빵 2015.05.04 1/0
정보 [지니모션][블레이드][핸콕님매크로]+추가기능 v1.1 23 잠깐만요 2015.05.27 3/0
정보 ㅋㅋㅋㅋ 베스트글 보려고 2랩찍으려다가 2랩 찍기전에... 6 sica 2018.03.03 0/0
정보 간단하게 테스트해본 쿠키런 생명보내기 매크로 Script... 1 한길 2014.09.05 2/0
정보 간단한 단축키 ~ 5 앞프론뒷태 2015.03.13 0/0
Board Pagination Prev 1 23456 7 Next
/ 7

전체 최신 인기글

전체 주간 인기글