Windows/유용한 풀그림

[Spy++] 마우스 선택(Click) 동작 추적하기

채윤아빠 2021. 12. 22. 08:49
728x90
반응형


윈도우의 여러 동작 관련 메시지들을 자세하기 이해하기 위하여 이용하는 Spy++ 프로그램에 대하여 정리하여 둡니다.

본 글에서는 여러 메시지들 중에서 마우스 선택(Click) 관련 메시지들을 추적하고 확인하는 방법을 설명하겠습니다.

Microsoft Spy++ 도구는 Visual Studio 등과 같은 개발도구를 설치할 때 함께 설치됩니다. 하지만 다음 주소를 통하여 최신 버전은 아니더라도 사용할 수 있는 단독 실행이 가능한 Spy++을 다운로드 받으실 수 있습니다.

실행하면 기본적으로 다음과 같은 화면이 나타납니다.


마우스 선택 동작을 추적하고 싶은 윈도우 컨트롤을 선택해야 하는데, 가장 손쉬운 방법은 단축키로 "Ctrl + F"를 누르거나 상단 메뉴에서 "Spy > Find Window..." 메뉴를 선택하면 다음과 같은 "Find Window" 대화상자가 나타납니다.


위와 같이 "Show"를 "Messages"를 선택한 후, "Finder Tool"의 표적을 선택하고 끌어서 마우스 관련 메시지를 추적하고 싶은 윈도우 컨트롤 위로 가져가서 떨어 뜨리면 다음과 같은 "Messages" 창이 나타납니다.


최초에는 해당 윈도우 컨트롤에 대한 모든 메시지를 추적하기 때문에 원하는 마우스 관련 메시지를 찾기가 매우 힘듭니다.

그래서 단축키로 "Ctrl + O"를 누르거나, 상단의 "Messages > Logging Options..." 메뉴를 선택하면 아래와 같은 "Message Options" 대화상자가 나타납니다.


위 대화상자에서 "Clear All" 버튼을 눌러, 모든 메시지를 해제한 후 "Message Groups"에서 "Mouse"를 선택하고, "Messages to View:"에서 매우 빈번하게 메시지가 나타나는 "WM_MOUSEMOVE, WM_SETCURSOR" 메시지는 선택을 해제합니다.


추가적으로 마우스 선택 관련 메시지를 상세하게 분석하려면, "Output" 탭에서 위 화면과 같이 각 옵션을 선택하면 메시지를 확인하는데 도움이 됩니다.


그 밖에 "Windows" 탭에서 해당 컨트롤 말고, 관련 다른 컨트롤의 메시지까지 확인하고자 할때는 "Additional Windows"에서 필요한 윈도우 컨트롤을 선택할 수도 있습니다.

메시지 추적에 대한 옵션 설정을 마친 후, 해당 컨트롤에서 마우스 선택 동작을 수행하면 다음 화면과 같이 선택 동작에 대한 메시지들이 기록된 것을 확인할 수 있습니다.


그 중에서 하나의 메시지를 선택하고, 상세한 정보를 확인하면 아래 화면과 같이 나타나게 됩니다.


위 대화상자의 정보들을 확인하여, 분석하거나 관련 메시지를 그대로 모의하는 등의 작업을 수행할 수 있습니다.

본 글에서는 마우스 동작에 대한 부분에 대해서만 설명을 하였으나, 위 과정에서 "Message Options" 대화상자에서 "Message Groups"에서 분석하고자 하는 부류를 선택하면, 키보드나 여타 메시지들을 추적 확인하실 수 있습니다.