NGMsoftware

NGMsoftware
로그인 회원가입
  • 커뮤니티
  • 질문과 답변
  • 커뮤니티

    지식인! 질문에 답변을 달면 포인트가 지급됩니다.

    질문과 답변

    지식인! 질문에 답변을 달면 포인트가 지급됩니다.

    질문에 대한 답변을 3일안에 채택하지 않으면, 자동으로 첫번째 답변자가 채택되고 포인트는 100점이 차감됩니다.

    기타 안녕하세요 코딩 문의 드려요

    페이지 정보

    본문

    파이썬으로 자작매크로룰 구현중입니다.

     

    현재 비활성창으로 화면 송출이 되면서 핸들러에 특정 윈도우창을 인식해서 창 자체는 비활성이 되어있습니다.

     

    게임클라이언트 창을 다른 창으로 가려도 마우스포인터가 그 위치로 가서 클릭도 되는 상황인데

     

    moveto가 먹히지 않는 상황입니다.

     

    하드웨어적인 아두이노 말고 이 상황을 비활성으로 다른창으로 가리더라도(유튜부 시청이나, 웹검색등..)

     

    을 할수 있는 팁을 알고 싶어서 질문 드립니다.

     

    우여곡절끝에 창이 비활성되고 화면을 가려도 마우스로 클릭좌표까지는 가는걸 성공했지만

     

    그 마우스를 안보이게 하면서 작업을 수행하고 싶은게 목적입니다.

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

      채택답변
    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    우선, 마우스가 안보이게 하려면 비활성으로 신호를 변환해야 하는데요.
    말씀하시는 비활성이라는게 제어할 프로그램의 고유한 핸들 값을 알아내셨다는 뜻일까요?

    profile_image

    부공띠님의 댓글

    no_profile 부공띠 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    네 고유의 핸들값을 알아내서 인식완료했습니다.

    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    아 그러시면, 파이썬에서 postmessage 윈도우 api를 사용하셔야 합니다.
    import win32gui
    hwnd = win32gui.FindWindow(None, "게임창 이름")
    win32gui.PostMessage(hwnd, CLICK, 0, 100, 100)
    win32gui.PostMessage(hwnd, CLICK, 1, 100, 100)

    이런식으로 하셔야 합니다.

    profile_image

    부공띠님의 댓글

    no_profile 부공띠 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    PostMessage로 핸들러에 클릭은 인식이 되는데 좌표 정보에 좌표값을 줘도 제자리만 클릭을 해서요
    MOUSEMOVE는 MOVING시점의 이벤트를 인식하고 원하는건 커서가 고정인채로 특정좌표로 MOVING인데 뭔가 조언을 구합니다.

    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    아.. 비활성에서 Mouse Move는 안됩니다. 이게 메커니즘이 마우스 신호를 특정 클라이언트에 주면 그 순간은 적용되는데요.
    만약, 물리적인 마우스가 동작하게 되면 마우스 정보가 업데이트되기 때문에 Move는 비활성으로 사용할 수 없어요.
    그래서 일반적으로 마우스 다운과 마우스 업 거리를 다르게 해서 드래그하는 형식을 씁니다.

    profile_image

    부공띠님의 댓글

    no_profile 부공띠 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    아 그 부분은 몰랐던 부분이네요.. 참고 해 보겠습니다! 초보개발자에게 큰 힘이 될수도 있는 답변 감사합니다.

    profile_image

    부공띠님의 댓글

    no_profile 부공띠 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    레프트다운과 레프트업 거리를 다르게 하라는 말씀이 레프트다운으로 특정좌표를 누른 상태에서 레프트업하고 다음 좌표를 입력하면 되는것일까요?

    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    네 드래그의 경우 그렇습니다.