매크로

조회 수 297 추천 0 댓글 10

창이 여러개 있습니다. 그중에 특정 이미지를 찾으면 그 창에 포스트 메세지를 보내서 클릭을 하려고 합니다...


1. 이미지서치 가능 합니다..


2. 찾은 이미지가 있는 창의 이름을 가져오는 방밥을 알고 싶습니다..

(현제는 MouseMove로 이미지가 있는 창으로 마우스를 옮겨서 MouseGetPos와 WinGetTitle,로 창이름을 알아내고 있습니다.)


3. PostMessage로 클릭 명령 가능 합니다..


결국에 문제는 특정 이미지를 찾은 창의 이름을 모른다고 가정하고 특정 이미지를 찾은후 그창에 PostMessage로 클릭 명령을

주고 싶습니다. 이미지서치를 하고 마우스무브로 이동을 해서 창이름을 알아내다보니 마우스를 쓸수가 없어서요..ㅎㅎ;;;;


고수님들의 쉬운 답변 부탁 드립니다~~:)


  • Hangoon 2015.05.03 13:39
    매크로 작동전에 창 위치를 매크로가 미리 알고있어야 할것같네요. 대상 윈도우들의 창위치와 크기와 타이틀을 순차적으로 가져와서 저장해두는 기능을 만드시고, 이미지써치가 성공하면 좌표에 따라 어느창인지 구분하는 방법이 가장 좋을거같습니다
  • 퉁군 2015.05.03 13:45
    아..무슨 얘기인지는 알것같은데요 그런 방법 말고 명령어로는 없는건가요??
  • 리체 2015.05.03 15:57

    왜 어렵게 하나의 스크립트에서 여러개의 윈도우를 컨트롤할려고 하세요?

    윈도우와 스크립트가 1:1로 되게 하는게 코딩하기도 편하고 에러도 줄일수 있지 않을까요?

  • 퉁군 2015.05.03 16:05
    음...말씀하시는건 세개의 창을 컨트롤 할려면 세개의 파일을 실행시키라는 말씀하시는건가요????
  • 리체 2015.05.03 16:58
    네, 1:1 매칭하면 마우스무브를 사용해야할 일이 없죠.
  • theruin 2015.05.04 13:53
    MouseGetPos, [OutputVarX, OutputVarY, OutputVarWin, OutputVarControl, 1|2|3]
    여기서 OutputVarWin 가 현재 마우스 커서 위치의 창 ID 값일겁니다.
  • 퉁군 2015.05.05 06:43
    답변 감사드립니다...그런데 그렇게 얻은 id값으로 WinGetTitle을 써서 창이름을 알아내고 있거든요...
    그런데 제가 궁금한건 마우스를 이미지가 있는 창위로 보내지 않고 그냥 알아내는 명령어를 알고 싶습니다~^^
  • theruin 2015.05.05 22:56
    mousegetPos 로 얻은 id 값으로 posetmessage 제어하시면 됩니다 wingettitle 사용해서 구지 창이름을 가져올 필요가 없다고 알려드린겁니다.
    위에 분들이 말씀하신데로 그냥 스크립트 여러개 돌리는게 더 간단해 보이네요.
    아니면 gdip 사용해서 각창의 hwnd 값을 가지고 비활성 서치를 하셔도 될것 같네요.
  • 까치발가락 2015.05.06 11:11

    음,,,

    일단 WinGet으로 OS 상의 가동 프로그램 id을 가져 오셔서,

    특정 패턴의 타이틀명으로 필터링 하시고,

    선택된 값으로 작업하시면 될 듯 보이는데...

    무슨 작업인지 모르니 정확한 답변인지는 모르겠습니다.


    WinGet으로 타이틀 가져오는 함수는 다음과 같습니다.


    ? WinGet, id, list,,, Program Manager
    ? Loop, %id%
    ? {
    ??? this_id:= id%A_index%
    ??? WinGetTitle, sTitle, ahk_id %this_id%
    ????StringGetPos, TitlePos, sTitle, 특정 패턴

    ????if TitlePos >= 0

    ????? Do Something.

    ? }


    참고만 하시길...

  • 퉁군 2015.05.08 12:03

    mousegetPos로 얻은 id값으로도 포스트메세지가 제어가 되는군요..;; 이제 알았네요..ㄳ


    제가 요행을 바랬나 봐요...;; 짧은 명령어로 가능 할꺼라는 기대..ㅎㅎ;;;


    그런데 발가락님이 가르쳐주신 함수로 하면 해결이 될꺼 같네요 마우스를 굳이 않움직이고 기다릴 필요도 없구요^^


    답변 주신분들 감사합니다^^ 도움 주셔서요^^


List of Articles
분류 제목 글쓴이 최근변경 추천
정보 [AHK, C#?] PostMessage를 이용해 마우스 드래그 구현... 2 Windhelm 2017.06.26 0/0
자유 [ 메이플 ] 매크로 사용 가능여부 1 알씨다이 2016.03.16 0/0
정보 X부터Y까지의 모든 값을 랜덤으로 입력해주는 함수 4 sudeky 2016.12.25 0/0
질문 xe홈페이지 로그인 인증방법 문의 24 우리형 2016.02.16 1/0
질문 x,y축의 직선이 마우스 따라다니게 할수 있나요?? 맛초킹 2017.02.13 0/0
질문 X Trap은 뮤텍스로 우회 못하나요? gab 2018.02.03 0/0
질문 wparam값 관련 명령어 아시는분.. 1 석빡귀 2015.09.23 0/0
질문 winsock 10051 에러좀 도와주세요~^^; 12 퉁군 2015.05.11 0/0
질문 winmove 질문좀 드리겠습니다. 7 우앙쿵쾅 2015.08.04 0/0
질문 winmove 실행시 오토핫키 팅김 질문드립니다 Liayn 2018.06.05 0/0
질문 WinMove 관련질문... 2 파더 2014.12.19 0/0
질문 WinHttp로 정보를 받아왔을때 한글이 깨져서 나옵니다 2 여의도김매력 2017.06.12 0/0
질문 winhttp.send() 이 문구가 너무 오래걸립니다. 3 _Crash 2015.05.28 1/0
질문 winhttp 질문드리고싶습니다 ..부디 답변부탁드리겠습... 9 제발등업좀2 2017.07.17 0/0
질문 winhttp 이미지 업로드 질문 드립니다. 2 오켕 2017.11.16 0/0
질문 winhttp 에서요 1 _Crash 2018.12.05 0/0
질문 winhttp 로 카페목록뽑와와습니다.. 5 제발등업좀2 2015.07.23 0/0
질문 winhttp 네이버 말고 다음쪽 강좌 혹시 없나요? 1 너랑나랑 2017.07.06 0/0
질문 winhide로 숨긴 창에 postmessage 쏠 수 없나요? 2 인형 2015.07.05 0/0
질문 winhide 상태에서 이미지서치 방법이 있나요? 나귀 2016.01.23 1/0
Board Pagination Prev 1 ... 167168169170171172173174175 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글