Я использую spy ++ и вижу, что элемент управления, который у меня есть, имеет десятичную дробь, которая соответствует шестнадцатеричному (после преобразования курса) в spy ++, и я вижу, что родительское окно соответствует также, поэтому я имеют IntPtr для метки и IntPtr для формы/окна, но мой SendMessage
не работает для изменения текста в целевом приложении.Как установить текст в «другом» win32-приложении
Другой подход может быть может быть, чтобы сделать что-то вроде этого поста, но что идентификатор элемента управления, и как я понимаю, что 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
И это новое значение, но приложение по-прежнему показывает неправильное значение .... hmmm, мне нужно отправить сообщение с перерисованием, и если да, то для чего это код?
спасибо, Дин
Попробуйте установить 'wParam' в ноль, а не' value.Length'. –
Нет, это не сработало, плюс я узнал, что могу использовать winspector, и на самом деле вижу целевой компонент, получающий заданные текстовые сообщения (нужно попытаться сделать недействительным rect, как в приведенном ниже ответе, и посмотреть, поможет ли это) –