-2
Winuser.h에 선언 된 SendInput을 사용하여 마우스 동작을 시뮬레이트하는 C# 응용 프로그램을 개발 중입니다. SendInput에 대한 호출이 정상적으로 작동하고 화면에서 마우스를 움직일 수 있습니다.SendInput의 마우스 위치 값
[DllImport("user32.dll")]
public static extern bool GetCursorPos(ref POINT lpPoint);
다음 SendInput을 마우스 포인트를 통과 : 다음 시도 무엇
사용하여 사용자의 마우스 움직임을 기록했다. GetCursorPos에서 얻은 마우스 값과 SendInput이 실제로 마우스를 배치하는 위치 사이의 불일치를 발견했습니다. 예를 들어, 1300 (화면의 오른쪽 끝)의 마우스 x 위치는 SendInput을 사용하여 화면 왼쪽 근처의 마우스 위치에 해당합니다.GetCursorPos를 통해 얻은 POINT 데이터와 SendInput에서 사용하는 좌표계 간의 관계는 무엇입니까?
감사합니다.
랜스 다음 질문 바와 같이
코드 표시를 소홀히했습니다. SendInput을 어떻게 호출하는지는 알 수 없습니다. 아마도 당신은 그것을 잘못 이해했을 것입니다. 오류를 확인했는지 여부는 확인할 수 없습니다. 아마도 당신은 문제를 보여주는 완벽한 프로그램을 보여줄 수 있습니다. –
API 호출에 문제가 없으므로 코드를 게시하는 데 신경 쓰지 않았습니다. 이후 솔루션을 발견, GetCursorPos 화면 좌표를 반환하고 sendinput 절대 좌표가 필요합니다. 이 게시물에는 필요한 전환이 포함되어 있습니다. http://stackoverflow.com/questions/8021954/sendinput-doesnt-perform-click-mouse-button-unless-i-move-cursor – Lance