0
마우스 클릭을 시뮬레이트하기 위해 다음과 같이 C++ 스 니펫을 작성했습니다.SendInput이 연속적으로 작동하지 않습니다.
INPUT mouseData[2];
ZeroMemory(mouseData, sizeof(mouseData));
mouseData[0].type = INPUT_MOUSE;
mouseData[0].mi.dx = xx;
mouseData[0].mi.dy = yy;
mouseData[0].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP;
mouseData[0].mi.mouseData = 0;
mouseData[0].mi.time = 0;
mouseData[1].type = INPUT_MOUSE;
mouseData[1].mi.dx = 10;
mouseData[1].mi.dy = 10;
mouseData[1].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP;
mouseData[1].mi.mouseData = 0;
mouseData[1].mi.time = 0;
SendInput(1, &mouseData[0], sizeof(INPUT));
Sleep(30);
SendInput(1, &mouseData[1], sizeof(INPUT));
하지만 제대로 작동하지 않습니다. 이전 SendInput이 작동하지만 후자의 SendInput이 작동하지 않습니다. 왜?
또 다른 : 나는 마우스
- 호출 SendInput을가
- 화면의 어떤 위치에 수동으로 마우스를 차례로 클릭 한 다음과 같은 SendInput을 시도했습니다.
- 호출은 위가 잘 작동
을 SendInput을. 하지만 2가 없으면 작동하지 않습니다. 왜?
이것은 마우스 알림을받는 프로그램에 혼란을 야기 할 수 있습니다. 동시에 모든 것을하지 말고, 먼저 움직이고, 아래로, 그리고 나서 위로 움직이십시오. –
이러한 이벤트를 원자 적으로 처리 할 수 있도록 배열에 넣습니다. 한 번에 하나씩 보내지 마십시오. 모든 이벤트와 함께 SendInput을 한 번 호출합니다. 그리고 각각의 행동에 대해 하나의 이벤트가 필요합니다. 설명서를 읽으십시오. –
잘못된 플래그를 설정하고 있습니다. 왼쪽 아래 및 왼쪽 위로 플래그를 단일 입력으로 보낼 수 있습니까? – SMUsamaShah