매크로

조회 수 2464 추천 0 댓글 2

C#에서 PostMessage를 이용해 비활성 매크로를 구현 했었는데,

마우스 클릭(0x201, 0x202)과 이동 (0x200)으로 구현하니깐 작동을 안하더군요.

찾아보니 PostMessage로 드래그를 구현할 때는 클릭 이벤트만 써야 되더군요


C#에서 구현한 예제입니다.


int lParam = (startY * 65536) + startX;
PostMessage(hwnd, 0x201, 1, lParam);
lParam = (endY * 65536) + endX;
PostMessage(hwnd, 0x201, 1, lParam);
PostMessage(hwnd, 0x202, 0, lParam);


이를 오토핫키로 구현한다면


lparam:=(startY * 65536)+startX
PostMessage, 0x201, 1, %lparam%, ......
lparam:=(endY * 65536)+endX
PostMessage, 0x201, 1, %lparam%, ......
PostMessage, 0x202, 0, %lparam%, ......


오토핫키 코드 짜본지가 오래되서 이게 맞는지? 잘 모르겠습니다. 뒤의 .... 파라메터들은 생략했습니다.


대략 코드 설명을 하자면

드래그를 시작할 부분의 좌표(startX, startY)에서 마우스 왼쪽버튼을 누르는 이벤트를 보내고,

드래그를 마칠 부분의 좌표(endX, endY)에서 다시 클릭 이벤트를 보냅니다.

그 뒤 마칠 부분의 좌표에서 마우스 버튼 Up을 시키면 드래깅이 됩니다.



  • Jo 2017.06.26 12:09

    씨샾으로도 오토핫키 dll파일을 읽어들어서 코드실행이 가능한가요!?

  • Windhelm 2017.06.26 14:45

    가능은 하지만 대부분 C# 자체에서 구현 가능해서 그렇게 하지는 않습니다.


List of Articles
분류 제목 글쓴이 최근변경 추천
정보 [AHK, C#?] PostMessage를 이용해 마우스 드래그 구현... 2 Windhelm 2017.06.26 0/0
정보 OSD정의 및 오토핫키에서의 구현 Allyce 2017.06.08 0/0
정보 perl을 이용한 adb capture 방법 Allyce 2017.06.02 1/0
정보 메이플 아직 뚫리네요 9 천례향 2018.04.20 0/0
정보 X부터Y까지의 모든 값을 랜덤으로 입력해주는 함수 4 sudeky 2016.12.25 0/0
정보 DllCall "mouse_event" 속도조절하는 법 rkfdma 2016.12.08 0/0
정보 녹스창 크기 상관없이 클릭해주는 함수입니다. 2 크농 2016.10.25 0/0
정보 adb를 이용한 연속 터치 및 키입력 TIP 7 하연데디 2019.03.05 1/0
정보 여러개의 루프문 병렬로 동시에 돌리기 15 my0312 2018.10.21 2/0
정보 프로그램 간이 비밀번호 임시 1 T7GG 2016.09.10 0/0
정보 간단한 익스플로러 버전 체크 스크립트 1 노터스 2016.09.09 0/0
정보 소개 : CJon class 1 와이로 2016.06.26 2/0
정보 구이 디자인재활용 팁 3 이무 2017.02.13 0/0
정보 마지막으로 작업했던 오토핫키 공유(4) -끝- 2 Vesper 2016.06.11 1/0
정보 마지막으로 작업했던 오토핫키 공유(3) 1 Vesper 2016.06.10 1/0
정보 마지막으로 작업했던 오토핫키 공유(2) 2 Vesper 2016.11.03 1/0
정보 마지막으로 작업했던 오토핫키 공유(1) 6 Vesper 2017.05.29 1/0
정보 MsgBox 설정 3 괴리사 2016.06.08 2/0
정보 좌표개념 이해하기... 참고 그림.. 6 제발등업좀2 2016.05.26 1/0
정보 외치기님 푸쉬블렛 .. 시간 보내기 (누군가 질문던지신... 2 제발등업좀2 2016.03.30 1/0
Board Pagination Prev 1 23456 7 Next
/ 7

전체 최신 인기글

전체 주간 인기글