Какой функцией контролам(эдиты,кнопки, и т.д.) присваивается текст? Перехватил SendMessage(параметр WM_SETTEXT) и SetWindowText, и ничего не происходит, какие ещё есть варианты? вот например Edit1.text := 'text'; как работает? пробовал посмотреть в отладчике но дельфи генирирует столько левого кода что я просто ничего не смог найти.
К сожелению эта программа на дельфи её даже не импортирует =( уже перепробывал SendMessageA SetWindowTextA PostMessageA PeekMessageA DrawTextA FormatMessageA SetDlgItemTextA и нет эффекта =(
Нашел таки, оказалась CallWindowProcA =) но вот теперь немогу понять какой код сообщения передаётся для установки текста, WM_SETTEXT не катит, EM_REPLACESEL тож не то
2FED Да, это вы Америку открыли Эта функция и организует обработку сообщений - она все обрабатывает, тут искать напряжно. Лучше возьми spyxx из Visual Studio - очень удобная штука.
CallWindowProcA не "организует обработку сообщений", а используется, обычно, при subclassing в процедуре (функции) заместившей родную функцию. Кроме WM_SETTEXT и EM_REPLACESEL текст в Edit может появится по сообщениям EM_STREAMIN , EM_SETTEXTEX, EM_PASTESPECIAL.
Сообщением оказалось WN_PAINT, в общем я нашел совсем не то =) Получается так, в CallWindowProcA приходит WN_PAINT для перерисовки эдита с уже установленым текстом, а текст присваевается гдето ещё до вызова CallWindowProcA, а может быть и в обработчике WN_PAINT он вручную прорисовывается, например TextOut. в общем намутили в дельфи, нет чтобы просто GetWindowText/SetWindowText
Ребята, а вот в программе есть маленький компонент, мини веб браузер, он выводит коекакую информацию, буквально несколько строчек текста, как это дело перехватить? С браузерами раньше дел не имел, какие API они юзают чтобы загружать веб страници?