SendMessage странно работает

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
giaber
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 14.01.2009 (Ср) 13:51

SendMessage странно работает

Сообщение giaber » 16.09.2017 (Сб) 14:05

Здравствуйте!

Есть чужое приложение (CorelDraw). Узнаю хэндл нужного “Edit”. Далее посылаю:
Код: Выделить всё
Call SendMessage(hwnd, WM_LBUTTONDOWN, 0, 0)
Call SendMessage(hwnd, WM_LBUTTONUP, 0, 0)       
Call SendMessage(hwnd, WM_SETTEXT, Len(sText), ByVal sText)


Текст “вписывается”, курсор ввода мигает в “Edit”-е в начале строки. Но! При нажатии клавиш кейборда буквы не вписываются в “Edit” и Paste через CtrlV не происходит, введёные SendMessage-ем данные из этого “Edit”-а программа не использует, использует то старое значение, которое было до моих манипуляций, несмотря на то, что в “Edit”-е мои значения. Пробовал и WM_SETFOCUS, и посылать последней командой SendMessage-ем “Enter” - не помогло.

В чём моя ошибка?

Vova_2581
Постоялец
Постоялец
 
Сообщения: 376
Зарегистрирован: 10.01.2010 (Вс) 18:08

Re: SendMessage странно работает

Сообщение Vova_2581 » 16.09.2017 (Сб) 22:36

Может быть текст, вписанный вами в поле Edit не корректный, и программный код самого Corel просто его игнорирует??? :roll:

Vova_2581
Постоялец
Постоялец
 
Сообщения: 376
Зарегистрирован: 10.01.2010 (Вс) 18:08

Re: SendMessage странно работает

Сообщение Vova_2581 » 16.09.2017 (Сб) 22:48

А еще вполне может быть, что в ответ на некорректные данные введенные вами в это поле, Corel сообщил вам через модальное окно, которое "ушло" в фон и его просто не видно на первом плане. И вот пока вы не ответите на сообщение... все остальные действия блокируются, ввод с клавы и прочее... проверьте наличие модальных окон Corel через Alt+TAB

giaber
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 14.01.2009 (Ср) 13:51

Re: SendMessage странно работает

Сообщение giaber » 17.09.2017 (Вс) 0:01

Нет, нет! Я видимо недостаточночётко выразился! Извините. Я имел ввиду, что именно ввод в этот Edit клавой и копи-пастом не работают, а так всё работает. То есть клава не вообще отрубается, а просто как бы курсора и нет в этом Edit -е. Он вообще дочерним ComboBox-у показывается InqSoft Windows Scaner-ом, то есть не текстбокс.
Вобщем, я час назад случайно решил проблему - посылка SendKeys " " последней командой привела всё в порядок. Сам этот Edit устроен так, что отсекает любой текст вначале и в конце, оставляет только цифры. В общем работает, но почему так происходит - я не понимаю, а хочется понять.

Vova_2581
Постоялец
Постоялец
 
Сообщения: 376
Зарегистрирован: 10.01.2010 (Вс) 18:08

Re: SendMessage странно работает

Сообщение Vova_2581 » 19.09.2017 (Вт) 11:23

giaber писал(а):я не понимаю, а хочется понять.

Тогда нужно просто позвонить и спросить...
http://www.corel.ru
Но, думаю, первым вопросом у них будет: "скажите, пожалуйста, номер лицензии вашего Corel?"


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 38

    TopList