2013-11-20 5 views
1

처음에는 일반적으로 Microsoft 프로그래밍에 익숙하지 않습니다.MFC 및 UI 자동화 지원

상황 "새 파일", "파일 저장"등과 같은 다양한 단추가있는 고정 가능한 도구 모음이있는 MFC 응용 프로그램이 있습니다. 본질적으로, 내가 달성해야 할 것은 이러한 버튼을 클릭하는 것을 자동화하는 방법입니다. UISpy 및 Visual UI Automation과 같은 다양한 GUI 스파이 도구를 사용하여 AutomationID, ClassName 등으로 도구 모음 개체를 볼 수 있습니다. 그러나이 도구 모음의 하위 단추를 볼 수 없습니다. 어쨌든이 물체를 폭로하겠습니까? 여기 스크린 샷이 있습니다 http://postimg.org/image/n2drpxaa3/

뭔가를 변경해야하는 경우 소스 코드에 액세스 할 수 있습니다.

답변

2

툴바 버튼은 사실 버튼 컨트롤이 아니며 툴바로 그려집니다. 이러한 단추를 클릭하면 WM_COMMAND 메시지를 주 창에 보내 게됩니다. 스파이 프로그램을 사용하여 도구 모음 단추로 보낸 메시지를 복제하는 데 필요한 매개 변수를 결정할 수 있습니다.

+0

감사합니다. 새로운 것을 배우다. 그래서 내가 완전히 이해했는지 확인하기 위해 Winspector에서 툴바의 버튼을 클릭하면 WM_COMMAND가 전송된다는 것을 알 수있었습니다. 필드 (코드 : 0 제어 ID : 57601 제어 HWND : 0x0000000)가 있습니다. C#에서는 기본적으로 SendMessage (hwnd, 57601, IntPtr.Zero, IntPrt.Zero)를 수행하고 기본적으로 내 UI에서 도구 모음 단추를 클릭하여 시뮬레이션했습니다. – user2296600

+0

내게 맞는 것처럼 보입니다. –

+0

그래도이 문제가 발생하는 데 문제가 있습니다. WM_COMMAND가 0x111이고 wParam이 57601일까요? – user2296600