자동화

조회 수 3368 추천 0 댓글 10

python 을 조금 알아서 pyautogui로 매크로 사용하다가 

다른 작업도 할 겸 비활성 찾고있는데 클릭조건도 신기하고

마우스 무브도 생각대로 안움직이네요 좌표를 넣어주어도 안움직이고 (값은 뜨던데, 원하는 곳을 클릭 안함)


원하는 프로그램사이즈 내에서 비활성 이미지 캡처를 통해서 좌표를 찾고 그 지점을 클릭하기 까지 알고 싶어요 


지식 공유로 사례는 치킨 기프티콘 등으로 드리고 싶어요.


벌써 서치만 일주일째 하고 있어서 지치네요. 


오픈카톡이 안올라가서 댓글 남겨주시면 사례드리고 싶습니다.


  • 오크의제왕 2022.01.12 10:58

    일반적인 활성/비활성 신호를 소프트웨어 방식으로 입력하게 되면 해당 프로그램에서 캐치한 후 무력화(동작을 시키지 않음) 시킵니다. pyautogui 신호나 기타 c++/c# 등의 mousemove/click 등의 신호를 쏘게 되어도 프로그램에서 다 캐치해서 무력화(처리되지 않도록) 하게 되요.


    에뮬레이터(ld/nox)등은 그런 행위(입력신호차단)를 하지 않기때문에 잘 동작하지만 일반적인 PC 게임에는 기본으로 다 적용이 되지 않게 할겁니다.


    그럼 남은 방법은 하드웨어 방식으로 신호를 쏴줘야 하는데 이는 검색을 해보셔서 개발하시면 될 것 같습니다.


    아마 특정 라이브러리를 사용해서 하드웨어 신호를 쏴주는 방식을 사용하거나  아두이노 방식으로 신호를 쏘시면 될 겁니다.

  • 오토공부 2022.01.12 14:35
    안녕하세요.
    댓글 감사합니다.
    제가 하려는게 특정 게임 소프트웨어가 아니라 크롬등 과 같은 웹 내에 있는 게임을 비활성 신호로 동작시키고 싶어서 입니다.
    웹은 신호를 거를 수 없는 걸로 알고 있는데 맞을까요?
    혹시 웹 비활성 매크로를 아신다면 지식 공유 부탁드립니다...
    좋은하루 보내세요. (수시로 댓글 확인해보겠습니다.)
  • 오크의제왕 2022.01.12 14:55
    Pyautogui는 활성 방식 인 것 같네요.
    비활성방식으로 하시려면 해당 윈도우 창 값의 핸들값을 얻어서 해당 창에 키보드/마우스 이벤트에 메세지를 보내는 형태로 사용하셔야 합니다. pywinauto 모듈에대해서 좀 찾아보시면 이해가 조금더 되실 것 같네요.. ㅎㅎ
  • 오토공부 2022.01.12 15:00
    네 pyautogui는 활성방식이라 이번에 비활성방식으로 갈아 치우려고요
    그래서 win32 (pypiwin32) 자료가 좀 있어서 지금 테스트 중인데
    특정 웹 브라우저를 인식은 한 상태에서 창내에 마우스포인터가 있으면 win32 SendMessage를 통해 클릭은 가능한데 마우스 포인터가 다른 곳에 있으면 좌표를 입력해도 클릭 반응이 없어서 곤란한 상황이네요.
    이거 해결 되면 금방 비활성 캡처 따고 좌표 값 추정은 일도 아닐텐데 말이죠 ㅠㅠ
  • 오토공부 2022.01.12 15:10
    <pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'JetBrains Mono',monospace;font-size:9.8pt;"><span style="color:#cc7832;">def </span><span style="color:#ffc66d;">click</span>(x<span style="color:#cc7832;">,</span>y):<br /> hWnd = win32gui.FindWindow(<span style="color:#cc7832;">None, </span><span style="color:#6a8759;">"ac2"</span>)<br /> lParam = win32api.MAKELONG(x<span style="color:#cc7832;">, </span>y)<br /><br /> hWnd1 = win32gui.FindWindowEx(hWnd<span style="color:#cc7832;">, None, None, None</span>)<br /> win32gui.SendMessage(hWnd1<span style="color:#cc7832;">, </span>win32con.WM_LBUTTONDOWN<span style="color:#cc7832;">, </span>win32con.MK_LBUTTON<span style="color:#cc7832;">, </span>lParam)<br /> win32gui.SendMessage(hWnd1<span style="color:#cc7832;">, </span>win32con.WM_LBUTTONUP<span style="color:#cc7832;">, None, </span>lParam)<br /><br /></pre>이렇게 간단한 코드에 x,y 좌표는 spy 내에서 특정 창 내 window x,y값 보고 따온건데 마음대로 안되네요.
  • 오크의제왕 2022.01.12 15:14
    추가로 윈도우 좌표계는 스크린 좌표와 클라이언트 좌표가 있습니다. 좌표 주실때 위 두개의 개념 차이를 이해하셔야 제대로 사용 하실 수 있으실겁니다
  • 오토공부 2022.01.12 15:35
    네 제가 웹 화면 인식해서 받아오면 client 좌표로 입력하거든요..
    postmessage 는 클릭조차 응답이 없었습니다.
    좌표를 찾다보니 16비트로 변환하는 자료도 보고 적용해봤는데 똑같이 무응답이라 이렇게 글 쓰고 있는데
    참고할 만한 자료가 있을까요..
  • 오크의제왕 2022.01.12 15:53
    해당 프로그램이나 창이 win32가 아니어서 작동을 안할수도있겠네요.. pywinauto 로 uia 옵션 주고 해보시겠어요?
  • 오토공부 2022.01.12 16:06
    바로 해보겠습니다.
  • 진해살아요 2022.01.23 09:11
    ㅂㅋㄹㅌ 하시려고 하시나요

List of Articles
분류 제목 글쓴이 최근변경 추천
자유 프로그래밍 게시판 소개 피카부 2023.04.01 0/0
질문 후리기님꺼 던파 저만 안되나요? 2 젓수가기 2022.05.19 0/0
질문 혹시 파이썬으로 매크로 만드는분 계신가요 SSiO2 2018.08.14 0/0
질문 혹시 앱플레이어를 최소화로 해서 돌리는건 뭘로하는건... 컴공부합시다 2018.08.04 0/0
질문 혹시 새양님 c# 예제 소스 가지고 계신분 있나요? 케록케록 2019.03.27 0/0
질문 혹시 classdd 아시는분 계시나요? 3 ddd1111 2022.02.20 0/0
질문 혹시 c# 새양 매크로라는 소스 공유해 주실 수 있는분 ... 2 윤봉길 2019.06.10 0/0
질문 하드웨어 메크로 만들어 봤습니다. 호블리 2019.06.12 0/0
질문 프로그램을 직접 개발 할 수 있는 능력을 가진다면 얼... 1 APM 2019.11.16 0/0
질문 프로그래밍 언어로 매크로를 만들어 보려고 합니다. 4 a34oh03 2018.09.21 0/0
질문 퍼플에서 매크로로 마우스 클릭 방법 아시는분? 4 wnlf 2021.01.18 0/0
질문 파이썬을 이용한 매크로가 게임 내에서 작동이 안됩니다. 1 솜털뭉치 2020.01.31 0/0
질문 파이썬은 따로 계시판이 없나보네요 1 지니블렉션 2023.05.16 0/0
질문 파이썬으로 오딘 매크로 만들어보신분? 4 또보겠지 2023.05.11 2/0
질문 파이썬으로 비활성 이미지서치 구현하신분 있으신가요? 2 솜털뭉치 2019.06.09 0/0
질문 파이썬으로 메이플 돌리면 탐지안되나요? 느낌송 2022.12.25 0/0
질문 파이썬으로 매크로같은거 만드는 중인데 3 현질하다털림 2019.12.04 0/0
질문 파이썬으로 매크로 만들어보려는데 2 그렇하군 2022.05.29 0/0
질문 파이썬으로 매크로 만들어도 결국 소프트웨어 입력이라... 3 beumguy 2020.08.09 0/0
질문 파이썬으로 만든 매크로 레코더 호블리 2019.05.16 0/0
Board Pagination Prev 1 2345678910 11 Next
/ 11

전체 최신 인기글

전체 주간 인기글