Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2016, 19:54   #1
DarkPower
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 15
Восклицание Отправить ентер окну - C#

Суть проблемы: в чужом окне есть RichEdit в котором при нажатии клавиши Enter отсылается текст.
Написал код на Delphi которой добавляет текст и нажимает клавишу ентер - все отлично работает!
Написал код на C# который добавляет текст и нажимает клавишу ентер - текст пишет нормально, а вот ентер пишет в РичЕдит, тоесть не отсылает текст...


Написал код на Delphi:
Код:
SendMessage(EDITCtrl, WM_SETTEXT, 0, Integer(Edit2.Text));
SendMessage(EDITCtrl, WM_KEYDOWN, VK_RETURN, 0);
SendMessage(EDITCtrl, WM_KEYUP, VK_RETURN, 0);
Код на C#:
Код:
WIN32.SendMessage(hwnd_edit, WM_SETTEXT, IntPtr.Zero, textBox1.Text);
WIN32.SendMessage(hwnd_edit, WM_KEYDOWN, (IntPtr)VK_ENTER, IntPtr.Zero);
WIN32.SendMessage(hwnd_edit, WM_KEYUP, (IntPtr)VK_ENTER, IntPtr.Zero);
Что не так? Почему не выполняется событие на нажатие клавиши ентер?
В результате не отправляется текст, а просто пишется после текста перенос.
DarkPower вне форума Ответить с цитированием
Старый 23.04.2016, 20:00   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

VK_ENTER это что? Оно точно равно VK_RETURN?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 23.04.2016, 20:07   #3
DarkPower
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
VK_ENTER это что? Оно точно равно VK_RETURN?
IntPtr VK_RETURN = (IntPtr)13;

WIN32.SendMessage(hwnd_edit, WM_KEYDOWN, (IntPtr)13, IntPtr.Zero);
WIN32.SendMessage(hwnd_edit, WM_KEYUP, (IntPtr)13, IntPtr.Zero);
так же само... просто посылает перенос в конце текста без отправки...

Последний раз редактировалось DarkPower; 23.04.2016 в 20:10.
DarkPower вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтобы символы пробел и Ентер не записывались? Вот как я придумал но, что-то не работает Aqua77 Общие вопросы C/C++ 4 05.08.2015 03:52
Доступ к окну cmd dim5 C++ Builder 1 28.01.2013 21:40
Автоматизация кликов по окну sincemix Общие вопросы Delphi 10 03.08.2010 13:19
Можно ли добавить ентер в Label? Или запретить копировать текст из memo? TwiX Общие вопросы Delphi 5 07.08.2009 14:00
от консоли к окну ёжик Общие вопросы C/C++ 3 06.04.2008 17:51