|
마우스 이벤트로도 그닥 상관은 없습니다.
긴긴 설명보다는 그냥 편히 소스로 보여드리는게 속편하시겠죠~?
int x_pos = parm_x*65535/GetSystemMetrics(SM_CXSCREEN);
int y_pos = parm_y*65535/GetSystemMetrics(SM_CYSCREEN);
::mouse_event(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, x_pos, y_pos, 0, ::GetMessageExtraInfo());
대략 이렇게 하면 마우스가 움직이는데 여기서 x, y는 전체화면의 좌표입니다.
만약 화면 해상도가 1280 * 1024라면 (1,1)은 모니터 왼쪽 꼭대기이고
만약 x가 1280이면 그만가게하고 머 이런기능도 들어가 주어야 할 것 같구요.
키보드로 제어를 하려면 일단 현재 마우스 좌표를 읽어오는 기능이 필요하겠지요.
현재좌표를 구해서
x = (현재마우스 좌표 +/- 1) *65535/GetSystemMetrics(SM_CXSCREEN);
y = (현재마우스 좌표 +/- 1) *65535/GetSystemMetrics(SM_CYSCREEN);
이런식으로 구현하면 될것 같네용~
학생 님이 쓰신 글 :
: 다이얼로그 기반에서 마우스를 키보드로 조정해서 바탕화면에서도 움직이게 할려고하는데요
: 이게 다이얼로그 기반으론 먹히지도 않고 ;;
: 그냥 싱글다큐먼트론 먹히긴하는데
: mouse_event(MOUSEEVENTF_MOVE, x * 65535 / 해상도WIDTH, y * 65535 / 해상도HEIGHT, 0, 0);
: 마우스 움직이는 이벤트에서 키보드 업키 (방향키) 누를때마다 각각 x와 y값에 무엇을 넣어야하는건가요 ?
: 전 그냥 단순하게 업키누를땐 높이에 y=0.1로 대충하면 될줄알았더니
: 다운키에 같이 반대로 x=0.1을 했더니 마우스가 왔다갔다거리면서 안되네요 ;;;
: 제가 잘못이해하고 있는건가 싶기도 하고 ,, 어떻게 써야하는건지 자세히좀 가르쳐주세요 부탁드립니다 ^^
|