Страница: 1 |
Страница: 1 |
Вопрос: PostMessage
Добавлено: 21.12.07 14:47
Автор вопроса: Сергей
Здравствуйте, приведите пожалуйста пример как, допустим в блокноте, через PostMessage нажать клавишу PgDown. Спасибо.
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #1
Добавлено: 21.12.07 15:49
Dim hWndnp As Long
hWndnp = FindWindow("NOTEPAD", "Безымянный - Блокнот"
hWndnp = GetWindow(hWndnp, GW_CHILD)
PostMessage hWndnp, WM_KEYDOWN, vbKeyPageDown, 0
SendMessage hWndnp, WM_KEYDOWN, vbKeyPageDown, 0
Номер ответа: 2
Автор ответа:
Сергей
Вопросов: 9
Ответов: 18
Профиль | | #2
Добавлено: 21.12.07 17:13
Кажется разобрался, немного подправил, только вместо vbKeyPageDown все же мне кажется надо писать ее циферный код, или как его там назвать, а то не работает (например если 13 поставить - Enter нажмет). Вот только где его узнать можно ?
Номер ответа: 3
Автор ответа:
Сергей
Вопросов: 9
Ответов: 18
Профиль | | #3
Добавлено: 21.12.07 17:30
А, нет, туплю, извините. Спасибо большое, все заработало.
Номер ответа: 4
Автор ответа:
Mr.Smile
ICQ: 427682013
Вопросов: 14
Ответов: 464
Профиль | | #4
Добавлено: 24.12.07 16:45
SendMessage от PostMessage отличается тем, что PosMessage не возращает ответа (вроде), т.е. ему пофиг, дошло сообщение или нет. Иногда это полезно и даже незаменимо.
Номер ответа: 5
Автор ответа:
Сергей
Вопросов: 9
Ответов: 18
Профиль | | #5
Добавлено: 24.12.07 17:00
Тогда такой вопрос: что лучше использовать для того, что бы установить текст в поле для ввода текста ? PostMessage или SendMessage ?
Номер ответа: 6
Автор ответа:
Mr.Smile
ICQ: 427682013
Вопросов: 14
Ответов: 464
Профиль | | #6
Добавлено: 24.12.07 17:50
SetWindowText
А вообще, из предложенного, считаю что SendMessage подойдет лучше. PostMessage это накрайняк. Бывало, заменишь PostMessage на SendMessage и прога твоя засыпает вечным сном...
Номер ответа: 7
Автор ответа:
Сергей
Вопросов: 9
Ответов: 18
Профиль | | #7
Добавлено: 24.12.07 18:16
Спасибо, а вот SetWindowText - как-то не ожидал...