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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.01.2008, 12:25   #1
Jenya
Грызун Гранита
Пользователь
 
Аватар для Jenya
 
Регистрация: 25.01.2008
Сообщений: 33
По умолчанию

Добр. Времени суток, Уважаемые))

Я конечно нираз встречал описание SendMessage. Но последние два параметра описываются как "дополнительные параметры". Может кто-нибудь объяснить, для чего они нужны, и каких видов бывают?

А собственно у меня есть задача нажать на одну кнопочку в инородной программе. Визуально эта кнопочка нажимается, видно как это происходит, однак приложение молчит, и не реагирует на эти нажатия, пока не кликнешь по форме мышкой. В чем беда? Код нажатия на кнопку привожу:
Код:
 TheChildHandle := FindWindowEx(FindWindow(nil, 'Заголовок окна'), 0, nil, PChar('Да'));
  SendMessage(TheChildHandle, WM_LBUTTONDOWN, 1, 1);
  Sleep(700);
  SendMessage(TheChildHandle, WM_LBUTTONUP, 1, 1);
Jenya вне форума
Старый 25.01.2008, 12:51   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

"дополнительные параметры" это wParam и lParam в оконных процедурах
Код:
LRESULT DefWindowProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam);
Могут применяться для чего угодно, от передачи указателей до ASCII-кодов нажатых клавиш, всё в зависимости от посылаемого/принимаемого сообщения.
--------------------
Для WM_LBUTTONDOWN
wParam определяет состояние кнопок мыши, lParam - упакованые оконные координаты события.

wParam
Indicates whether various virtual keys are down. This parameter can be one or more of the following values.
MK_CONTROL
The CTRL key is down.
MK_LBUTTON
The left mouse button is down.
MK_MBUTTON
The middle mouse button is down.
MK_RBUTTON
The right mouse button is down.
MK_SHIFT
The SHIFT key is down.
MK_XBUTTON1
Windows 2000/XP: The first X button is down.
MK_XBUTTON2
Windows 2000/XP: The second X button is down.
lParam
The low-order word specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.

The high-order word specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.

Последний раз редактировалось B_N; 25.01.2008 в 12:54.
B_N вне форума
Старый 11.12.2010, 19:02   #3
paralvic
 
Регистрация: 10.12.2010
Сообщений: 8
По умолчанию

Хоть и два года прошло.
Ответ классический.
Вместо SendMessage использовать PostMessage.
paralvic вне форума
Старый 11.12.2010, 19:04   #4
paralvic
 
Регистрация: 10.12.2010
Сообщений: 8
По умолчанию

Всё правильно в ассемблере значение байтов определяется местоположением.
Одно и то же значение может быть совершенно различными вещами.
paralvic вне форума
Старый 11.12.2010, 19:15   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ответа по теме не дали.
и ответы не верны, сенд отлично подходит.
- за некропост.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# - параметры функции ameli Общие вопросы .NET 4 02.06.2008 16:40
Как принять сообщение (SendMessage) Crazyman Win Api 4 20.02.2008 04:42
Как изменить рабочий стол через sendmessage Romanbl4 Win Api 6 18.07.2007 14:35
SendMessage (перенесено со старого форума) rpy3uH Win Api 0 30.10.2006 20:19