728x90
MAKELPARAM 의 경우 마우스 클릭 메시지 처리 시 LPARAM의 값에 대입하여 넘겨줘야 하는데
이와 같은 경우에 값을 LPARAM 형태로 넘겨주기 위해 사용 합니다
간단한 예로 마우스 클릭 이벤트를 발생시키기 위해서는
WM_LBUTTONDOWN 메시지와 WM_LBUTTONUP 메시지를 발생시키면 됩니다
특정 프로그램에서 X와 Y 좌표값 기준으로 클릭 이벤트를 발생시키려면
아래와 같이 코드를 작성하면 됩니다
int iPosY = 100; //Y 좌표
int iPosX = 100; //X 좌표
//창 핸들 가져오기
HWND hWnd = ::FindWindow(NULL, _T("WindowName"));
if(hWnd) //핸들이 존재한다면
{
LPARAM lParam = MAKELPARAM(iPosX, iPosY); //X좌표 Y좌표 LPARAM변환
::SendMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, lParam); //마우스 다운 이벤트 발생
Sleep(10);
::SendMessage(hWnd, WM_LBUTTONUP, MK_LBUTTON, lParam); //마우스 업 이벤트 발생
}
제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀
728x90
반응형
'Application > MFC' 카테고리의 다른 글
[MFC] TrayIcon 초기화시 재 생성 방법 (TaskbarCreated) (0) | 2023.02.15 |
---|---|
[MFC] 자식 핸들 가져오기 (GW_HWNDNEXT, GW_CHILD) (0) | 2023.02.14 |
[MFC] WM_USER 사용 (User Message) (0) | 2023.02.10 |
[MFC] CListCtrl 배경색 & 글자색 변경 (0) | 2023.02.09 |
[MFC] FindFirstFile & FindNextFile (파일, 디렉토리, 폴더 검색) (0) | 2023.02.08 |