Сейчас на форуме: bartolomeo, -Sanchez- (+4 невидимых)

 eXeL@B —› Вопросы новичков —› Оля и WM_GETTEXT
Посл.ответ Сообщение

Ранг: 105.9 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 07 февраля 2006 12:32
· Личное сообщение · #1

Здравствуйте!
Я недавно начал осваивать Олю и возник у меня вопрос. Когда я пытаюсь поставить бряк на посылку сообщения WM_GETTEXT к окну edit (да и вообще любого сообщения любому окну) Оля напрочь отказывается это делать
Как это у нас с ней происходит:
Жду, пока прога не покажет окно с просьбой ввода регномера. Открываю окно window в Оле. С помощью zDamp определяю хендл окошка для ввода пароля (или так можно догадаться). Правой кнопкой щелкаю на нем, выбираю Message Breakpoint on ClassProc. Затем в выпадающем меню выбираю WM_GETTEXT и жму ОК.
А она мне в ответ:"Unable to read memory of debugged process"
Может в настройках дело? Я настроил так как написано в тутошней статье "Оля от А до Я"



Ранг: 50.7 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 07 февраля 2006 13:51
· Личное сообщение · #2

По моему надо делать так:
Ставишь не Message Breakpoint on ClassProc, а бряк с условием и условие вписываешь
[esp+8]==WM_GETTEXT

Вроде работало, но ща не одной проги найти не могу



Ранг: 105.9 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 07 февраля 2006 14:28 · Поправил: Sturgeon
· Личное сообщение · #3

Нет Та же самая фигня.
Устанавливал Олю из разных источников, результат один и от же



Ранг: 50.7 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 07 февраля 2006 14:52
· Личное сообщение · #4

Хм. Посмотри адрес этой самой ClassProc и поставь в памяти на секцию, содержащую этот адрес, полный доступ Memory->Правой кнопкой на секцию в памяти->Set access->Full access
Может поможет



Ранг: 105.9 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 07 февраля 2006 16:40
· Личное сообщение · #5

Нда. Только что попробовал поставить бряк на WM_GETTEXT в фантомовском крякми. Там все получилось и сработало.''
А в той проге, которую я ковырял (CamStudio 3) адрес равен FFFF6045, и как оказывается его в программе не существует.''



Ранг: 50.7 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 07 февраля 2006 19:38
· Личное сообщение · #6

Sturgeon пишет:
адрес равен FFFF6045


Может там как-то через исключения всё сделанно. Хотя всё это странно




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 08 февраля 2006 15:21
· Личное сообщение · #7

WM_GETTEXT не единственный способ получить текст из окна.
есть GetWindowText и GetDlgItemText
проверь их тоже

-----
EnJoy!




Ранг: 105.9 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 09 февраля 2006 10:19
· Личное сообщение · #8

Двое суток на работе был поэтому не мог даже сказать спасибо.
Klajnor. Ну ладно, когда вырасту обязательно разберусь. А пока все равно спасибо за информацию. Методика освоена на других приложениях и обязательно пригодится.

Jupiter. В чем вся фишка. Не вызывает прога GetWindowText и GetDlgItemText. Я насколько знаю (а знаю плохо ''), все АПИ для получения текста из окна являются обертками вокруг WM_GETTEXT и бряк на не это универсальный способ отловить их. Насколько это правда? и если я ошибаюсь, то где?


 eXeL@B —› Вопросы новичков —› Оля и WM_GETTEXT
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати