임프랍니다.
마우스 클릭을 에뮬레이션하려고 하시는 거 같은데요. WM_LBUTTONDOWN 메시지를 보내는 것 보다는
그 목적으로 준비된 함수인 mouse_event() API 함수를 사용하는 것이 더 좋습니다.
이 함수의 사용법에 대해서는 이곳 Tip 게시판의 1번 글을 보시면 쉽게 알아보실 수 있을 겁니다.
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=1
C++ 코드로 되어있긴 하지만 파스칼과 별다른 차이가 없는 문법들이므로 별로 어렵지 않으리라 생각합니다.
파스칼 코드로 하면... 다음과 같이 |(파이프) 문자를 or 로 바꾸기만 하면 되지요.
// Move the mouse
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pt.x, Pt.y, 0, 0);
// Simulate the left mouse button down
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0);
// Simulate the left mouse button up
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 0, 0);
그럼 이만...
T.T 님이 쓰신 글 :
: SendMessage중에서 마우스에 관한 질문인데염..
:
: 일반적으로 SendMessage 는 4개의 파라미터를 갖더군염..
:
: 첫번째는 핸들값, 두번째는 메세지 종류 , 세번째는 메세지의
:
: 첫번째 파라미터, 네번째는 메세지의 두번째 파라미터..대충 이런거
:
: 같은데염..
:
: 우선 일례로 마우스 클릭에 관한 SendMessage를 보내게 되면
:
: SendMessage(Handle,Wm_lbuttondown,100,200) <== 이런식이겠죠..
:
: 그런데 문제는 Wm_lbuttondown 이벤트 자체가 파라미터 3개를 필요
:
: 로 합니다.. 첫번째는 Keyflag라고 되어있고염..두번째는 x좌표
:
: 세번째는 y좌표..
:
: 그러니까 문제는 SendMessage(Handle,Wm_lbuttondown,100,200) 이런식으
:
: 로 하면 100 이라는 것을 x좌표값이 아닌 Wm_lbuttondown의 첫번째 파라
:
: 미터인 keyflag로 받아들여지더군요.. 200을 x좌표로 받아들이고욤..
:
: 그렇다면 SendMessage로 일정한 x,y좌표값을 클릭할려면 어찌 해야 할지.
:
: 아니면 SendMessage의 4번째 파라미터(Integer로 되어있던데..) 값에다가
:
: x,y 좌표를 한번에 넘겨줄수 있는 방법이 있나요?
:
: 일반적으로 SendMessage로 마우스 클릭 이벤트를 보낼때는 버튼이나
:
: 에디트박스의 핸들값을 찾아서 클릭하는거 외에는 없나요? 핸들값을
:
: 찾아서 일정 위치를 클릭할려면 어케 해야 해요? 제발 갈챠주세염~~
:
: 많은 고수님들의 조언 부탁드립니다~~