2012-01-17 4 views
1

spy ++를 사용하고 있으며 spy ++에서 16 진수와 일치하는 10 진수를 가졌으며 부모 창도 일치하는 것을 볼 수 있습니다. IntPtr있는 레이블 및 IntPtr 폼/창 있지만 내 SendMessage 대상 응용 프로그램에서 텍스트를 변경하려면 작동하지 않습니다."다른"win32 응용 프로그램에서 텍스트를 설정하는 방법

또 다른 방법은이 게시물처럼 뭔가를 할 수 있습니다 할 수 있지만 컨트롤 ID는 무엇이며 어떻게 올바른, SetText of textbox in external app. Win32 API

내가 여기 HWND가 컨트롤 HWND 할 필요가 가정 것을 얻는가?

SendMessageCall(hWnd, WM_SETTEXT, (IntPtr)value.Length, value); 

나는, 올바른 값을 참조 텍스트를 얻을 다음 텍스트가 아직 변경되지 않는 설정하고 텍스트를 점점

SendMessageCall(hWnd, WM_GETTEXT, (IntPtr)sb.Capacity, sb); 

을 작업하고 내가 테스트를받을 것을 알 것을 알 다시 SendMessage을 사용하고 새로운 값이지만 응용 프로그램이 여전히 잘못된 값을 표시합니다 .... 음, 다시 메시지를 보낼 필요가 있습니까? 그렇다면 그 코드는 무엇입니까?

덕분에, 딘

+0

'value.Length'가 아닌'wParam'을 0으로 설정하십시오. –

+0

아니, 그게 작동하지 않았어, 플러스 내가 winspector를 사용할 수있는 사실을 발견하고 실제로 아래의 답변과 같은 rect 무효화하고 도움이 볼 수있는 시도 할 필요가있는 대상 구성 요소를 볼 대상 구성 요소 –

답변

2

당신 대신 당신이 InvalidateRect(hWnd, NULL, TRUE) 전화, 재 페인트를 강제로 창 메시지를 보내지 않습니다.

+0

내 구세주 ... 지금 일합니다! 나중에 문제가 될 수도 있다는 것을 깨닫기까지이 재 페인트를 나중에 기억해야합니다. –

관련 문제