자동화

조회 수 3468 추천 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
질문 매크로 만들기 좋은 언어와 툴이 어떤게 있나요? pusse 2018.08.06 0/0
질문 새양님 c# 오픈소스 가지고 계신분 있으신가요? 13 광대승천 2019.03.27 0/0
질문 c# 모모연동, 이미지서치, 마우스클릭만 가능하게해주... 6 광대승천 2018.08.14 0/0
질문 C#으로 pc게임은 마우스 키보드 입력이 안되네요 2 himitsu 2020.10.09 0/0
질문 혹시 파이썬으로 매크로 만드는분 계신가요 SSiO2 2018.08.14 0/0
질문 프로그래밍 언어로 매크로를 만들어 보려고 합니다. 4 a34oh03 2018.09.21 0/0
질문 단풍 c# 왜 키보드입력이 안될까요,, 3 레로아흐 2018.11.17 0/0
질문 로스트아크 비활성으로 마우스 이동성공하신분? 5 로야이 2019.06.12 0/0
질문 c# 사용중인데 오토핫키처럼 키입력 1 rlaclaos 2018.12.10 0/0
질문 c#으로 오핫의 *transwhite같은 투명이미지 서치할수 ... 1 keiosl 2018.12.14 0/0
질문 로스트아크 c#으로 매크로 만들어서 사용중이신분 계신... 1 rlaclaos 2018.12.22 0/0
질문 윈도우7에서 가끔 프로세서를 잡지를 못하네요 로야이 2019.01.10 0/0
질문 매크로 추천좀여 2 ki4166 2023.02.24 0/0
질문 메잎매크로 만들려구 하는데 고수님들 3 마베인 2019.01.15 0/0
질문 매크로 만드는법 배우고 싶어요 2 ki4166 2019.03.05 0/0
질문 새양님 c# 오픈소스 구합니다 3 찌후니 2019.01.25 0/0
질문 로스트아크 낚시 매크로 솔루션 (C#, OpenCV) 관심 있... Grome 2019.01.17 0/0
질문 c# 미니게임용 숫자 인식 3 수지가좋아 2019.01.22 0/0
질문 공부하려하는데 3 다조나 2019.01.25 0/0
질문 C#도 NGS에서 걸리지않나요?? 3 bser234 2019.02.10 0/-1
Board Pagination Prev 1 2345678910 11 Next
/ 11

전체 최신 인기글

전체 주간 인기글