오토핫키 커뮤니티

조회 수 884 추천 0 댓글 16
녹스에서 비활성으로 PixelGetColor 가능한가요?
여기저기 찾아다녀서 비활성으로 하는 코드를 찾은것 같은데
다른곳에서는 크게 이상 없는 것 같은데
녹스에서 적용시키면 되는듯 하더니 매크로를 다시 실행할때마다 값이 달라지네요 ....
밑에가 쓰고있는 코드입니다. 
무엇이 문제일까요 ㅜㅠ


#Include Gdip.ahk

N:="Nox"


home::
{
a := Getcolor(106,49,N)
msgbox, %a%
}

return

Getcolor(x,y,Title_function)

{
pToken := Gdip_Startup() 
pBitmap:=Gdip_BitmapFromHWND(hwnd := WinExist(Title_function))

ARGB := Gdip_GetPixel( pBitmap, x, y ) 

return ARGB


Gdip_disposeimage(pBitmap) 
Gdip_Shutdown(pToken) 

}

  • 할거엄따구 2017.08.28 16:10

    return ARGB 을


    Gdip_Shutdown(pToken) 아래에 넣어보세요

  • pqpqpqq 2017.08.28 17:01

    봐주셔서 감사합니다만 그래도 킬때마다 값이 바뀌네요 ㅠㅠ
    그림판에다가 테스트 해보면 항상 정해진 값이 나오는데
    녹스에다가만 하면 가만히 있는 셀 값도 계속 바뀌고 매크로를 리로드하면 값이 크게 달라지네요ㅠ

  • pqpqpqq 2017.08.28 17:05
    아 그리고 녹스는 스피드모드(directX)로 이용하고 있습니다
  • 할거엄따구 2017.08.28 17:29
    그렇군요. 스피드 모드가 문제 일수도 있겠네요. 예전에 녹스 초기에 스피드모드 잠깐 써봤는데 픽셀값이 많이 흔들렸던거 같습니다. 녹스 최신버전으로 사용중이신지?(5.0.0.1) 최신버전에서는 픽셀값 흔들리는게 개선 되었던거 같네요. 중간에 3.x버전은 사용안해봐서 모르겠습니다.
    가능하면 호환모드 쓰시는게 좋습니다.
  • pqpqpqq 2017.08.28 18:09
    버전은 5.0.0.1 쓰고 있습니다.
    호환성모드 쓰면 postmessage가 안된다 그런거 같아서 스피드 모드 쓰고 있었는데 지금 해보니까 호환성 모드에서도 postmessage가 작동하긴 하네요
    픽셀값은 모드 상관없이 막 튀네요 ㅋㅋㅋ
    오히려 0값이 나오거나 안떠버리면 뭔가 잘못됬구나 하고 바꿔볼텐데 값이 나오긴 나오는데 매번 바뀌니 더 모르겠네요ㅋㅋ 하.....
    9878896 / 10222184 / 10529192 / 13091472 / 11778536
    녹스 그냥 킨 상태에서 리로드만 했는데 값이 이렇게 튀네요 ㅋㅋㅋ
    비활성너무 어려워요 ㅠㅠ
  • 할거엄따구 2017.08.28 18:16
    pBitmap을 이미지로 저장하셔서 함 보시지요. 이미지가져오는거에 문제가 있는거 같은데요.
    그리고 title은 가급적 title명을 직접 쓰기보단
    winget,hwnd,,ahk_class Qt5QWindowIcon 로 잡아서 윈도우 핸들갑 취하셔서 핸들값으로 쓰시는게 날수있습니다.
    같은이름이 들어간 윈도우들이 있으면 오작동할수 있어요.
  • pqpqpqq 2017.08.28 18:46
    #Include Gdip.ahk

    home::
    N := winget,hwnd,,ahk_class Qt5QWindowIcon

    {
    a := Getcolor(500,500,"N")
    send, %a%
    }

    return

    Getcolor(x,y,Title_function)

    {
    pToken := Gdip_Startup()
    pBitmap:=Gdip_BitmapFromHWND(hwnd := WinExist(Title_function))
    static image세이브드
    if !image세이브드 and image세이브드 := true
    Gdip_세이브BitmapToFile( pBitmap, "테스트.bmp")
    ARGB := Gdip_GetPixel( pBitmap, x, y )

    Gdip_disposeimage(pBitmap)
    Gdip_Shutdown(pToken)

    return ARGB

    }
    세이브를 칠 수 없네요...ㅋㅋ
    이렇게 변경하고 했더니 호환성모드 스피드모드 둘다 하얀 화면이 저장되네요 ....
    그림판은 잘만 저장되는데 ㅠㅠ
  • 할거엄따구 2017.08.28 21:51

    #Include Gdip.ahk

    home::
    N := winget,hwnd,,ahk_class Qt5QWindowIcon

    winget,N,id,ahk_class Qt5QWindowIcon

    {
    a := Getcolor(500,500,"N")

    a := Getcolor(500,500,N)
    send, %a%
    }

    return

    Getcolor(x,y,Title_function)

    {
    pToken := Gdip_Startup() 
    pBitmap:=Gdip_BitmapFromHWND(hwnd := WinExist(Title_function))

    pBitmap:=Gdip_BitmapFromHWND(Title_function)
    static image세이브드  어떤 용도인지 모르겟네요
    if !image세이브드 and image세이브드 := true  ; 어떤 용도인지 모르겟네요
    Gdip_세이브BitmapToFile( pBitmap, "테스트.bmp")
    ARGB := Gdip_GetPixel( pBitmap, x, y ) 

    Gdip_disposeimage(pBitmap) 
    Gdip_Shutdown(pToken) 

    return ARGB

    }


    추가적으로 Gdip.ahk안에 Gdip_Gdip_BitmapFromHWND

    함수 안에

    printwindow(hwnd,hdc) 가 있다면

    pritnwindow(hwnd,hdc,"0x2") 로 변경해보세요.

  • pqpqpqq 2017.08.28 22:56

    두분 다 너무 감사드립니다

    부족한 지식에 제대로 이해하기보다 흉내만 내다보니 기초적인것도 이것저것 틀리는게 너무 많네요 ㅠㅠ

    중간에 용도를 모르겠다고 하신 부분도 어떻게 해야할지 몰라서 그대로 끌어오다 보니 딸려들어갔나 봅니다

    일단은 녹스 화면이 저장은 됐습니다!

    근데 계속 저 화면만 녹화가 됩니다 ㅋㅋㅋㅋ

    저 화면이 없어져도 계속 저화면만 저장되네요 ㅋ

    좀 더 공부해보고 건드려야 할거같습니다 ㅠㅠ


    0vie6eR.png

  • 할거엄따구 2017.08.29 07:32

    추가적으로 Gdip.ahk안에 Gdip_Gdip_BitmapFromHWND
    함수 안에
    printwindow(hwnd,hdc) 가 있다면
    printwindow(hwnd,hdc,"0x2") 로 변경해보세요.
    혹시 이부분 적용하셧나요?

  • pqpqpqq 2017.08.29 08:39
    어제 복사해서 찾기해보니 없다고 떠서 없는줄 알았는데 지금보니까 printwindow네요....
    일단 해당 코드가 Gdip.ahk 안에 들어있습니다!
    근데 사용법을 모르겠네요 .....
    DllCall("GetDC", "uint", hwnd)
    pBitmap:=Gdip_BitmapFromHWND(printwindow(Title_function,GetDC,"0x2"))
    이런식으로 넣어봤는데 제대로 작동하지 않는걸보니 잘못넣은듯 합니다 ㅠㅠ
  • 할거엄따구 2017.08.29 09:59
    아네 제가 오타를 냇네요 그렇게 수정하심 안되고요...ㅠㅠ
    gdip.ahk에 아래 함수 찾으셔서 
    Gdip_BitmapFromHWND(hwnd)
    {
    WinGetPos,,, Width, Height, ahk_id %hwnd%
    hbm := CreateDIBSection(Width, Height), hdc := CreateCompatibleDC(), obm := SelectObject(hdc, hbm)
    PrintWindow(hwnd, hdc) 이부분을 PrintWindow(hwnd, hdc,"0x2") 이렇게 바까주세요. 바꾸시고나서 저장하시고요.
    pBitmap := Gdip_CreateBitmapFromHBITMAP(hbm)
    SelectObject(hdc, obm), DeleteObject(hbm), DeleteDC(hdc)
    return pBitmap
    }
  • pqpqpqq 2017.08.29 12:07
    넘나 부족해서 죄송합니다 ㅠㅠ
    여기저기서 막 dllcall 넣고 막 그러길래 ㅋㅋㅋ
    그리고 됐어요 ㅋㅋㅋㅋㅋ
    눈물이 눈앞을 가립니다 ㅠㅠ
    다들 엄따구님 찬양하는 이유가 있네요 ㅋㅋ 너무너무 감사합니다!
  • 리체 2017.08.28 19:52

    각각 틀린 문구를 잡아드립니다.


    winget,n, id, ahk_class Qt5QWindowIcon


    a := Getcolor(500,500,n)


    pBitmap:=Gdip_BitmapFromHWND(n)


    if image세이브드

  • 리체 2017.08.28 19:54

    스피드모드와 OpenGL 둘다 모두 움직이는 영상이 없다면 일정한 색값이 나옵니다.

    그러나 서로 색값이 약간 다르기 때문에 이미지나 픽셀칼라값을 이용하여 제작했다면 공용하여 사용할순 없지요.

  • pqpqpqq 2017.08.28 22:58

    두분 다 너무 감사드립니다

    부족한 지식에 제대로 이해하기보다 흉내만 내다보니 기초적인것도 이것저것 틀리는게 너무 많네요 ㅠㅠ

    호환모드랑 스피드모드도 따로 안해보고 그렇다고 하는 글을 지나가다 몇번 보고 해 볼 생각도 안했었네요

    일단은 녹스 화면이 저장은 됐습니다!

    근데 계속 저 화면만 녹화가 됩니다 ㅋㅋㅋㅋ

    저 화면이 없어져도 계속 저화면만 저장되네요 ㅋ

    좀 더 공부해보고 건드려야 할거같습니다 ㅠㅠ


    0vie6eR.png


List of Articles
분류 제목 글쓴이 최근변경 추천
질문 MouseClick 이 정상적으로 작동을 안하는거같습니다 Jaram 2017.08.31 0/0
공유 앱플레이어스샷모니터링 12 큐르 2020.03.20 0/0
질문 오토핫키 입문해보고 싶은데 1 스피노프 2017.08.30 0/0
질문 Picture변경시 깜빡임현상....... 9 큐르 2017.10.26 0/0
질문 메모리 리드에서 주소를 변수로 지정하고싶은데요 2 adde 2017.12.13 0/0
질문 변수를 확실히 한글로 인식시키는방법좀.... 2 큐르 2017.08.30 0/0
질문 제가 하는 게임에선 비활성을 adb로 통해서 하면 계정... 4 hiki 2017.09.04 0/0
질문 핫키하나로 서스펜드와 퍼즈를 동시에 온오프하고싶습... adde 2017.08.29 0/0
질문 비활성 키 간섭 질문 드립니다. 거므사마 2017.08.28 0/0
질문 gdip이미지서칭 윈도우10오류질문드립니다 5 큐르 2017.09.09 0/0
질문 혹시 모모 앱플레이어 run 으로 실행 명령어가 어떻게 ... 2 wnlf 2017.08.29 0/0
질문 녹스 비활성 PixelGetColor 어떻게 해야할까요? 16 pqpqpqq 2017.08.29 0/0
질문 Target Label does not exist 에러가 뜹니다 5 험블비 2017.08.27 0/0
질문 (초보) GDIP 이미지서치 사용방법 2 험블비 2017.08.31 0/0
질문 정말 초보적인 질문입니다만..마우스클릭의 위치를 조... 1 가느가다 2017.08.27 0/0
질문 모모 비활성 마우스클릭 도와주세요 자꾸 한곳만 클릭... 6 험블비 2018.10.17 0/0
질문 gdip 비활성 매크로에 if errorlevel 못쓰나요? 3 비구니 2018.05.11 0/0
자유 오토핫키로 세븐나이츠 비활성 매크로 공유된 자료나 ... 만렙찍자세븐 2017.08.24 0/0
질문 Window Info에 창 이름이 안뜨는건 어떻게 해야하나요? 3 ㅎㅈ2 2017.08.23 0/0
질문 Gdip 이미지 서칭시 특정 좌표에서부터 검색을 하고싶... 개발자의하루 2017.08.22 0/0
Board Pagination Prev 1 ... 798081828384858687 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글