PS. Может быть правда, что я константу EM_GETTEXTEX неправильно определил... У меня 6-ая студия стоит, а там в инклудах такой переменной нету. В сети нагуглил такое определение: "#define EM_GETTEXTEX (WM_USER + 94)". Оно правильное?
Точнее TRichView / TInfuRichEdit. На всех окнах и кнопках работает функция GetWindowText или WM_GETTEXT, а здесь не хочет. Пробовал ещё извращаться с WM_GETSEL, EM_FINDTEXT и некоторыми другими. Результат 0. В поиске нашёл пару топиков с подобным вопросом, но решения нигде не было...
[win32] есть мнение, что нужно аллоцировать память в чужом процессе, и слать em_gettextex.05.04.10 11:33 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 05.04.10 11:37 Количество правок: 2
VirtualAllocEx, внутри чужого процесса заполняем структуру GETTEXTEX, делаем PostMessage с соотв. указателями на GETTEXTEX и буфер, куда вернётся текст.
Потом ReadProcessMemory() и вуаля ;)
А вообще, сперва попробуй эти же пляски с VirtualAllocEx, но пошли простой WM_GETTEXT.
Если не получится, то пляски по полной программе.
[Win32] Спасибо!06.04.10 09:05 Автор: Vedrus <Serokhvostov Anton> Статус: Member
PS. Может быть правда, что я константу EM_GETTEXTEX неправильно определил... У меня 6-ая студия стоит, а там в инклудах такой переменной нету. В сети нагуглил такое определение: "#define EM_GETTEXTEX (WM_USER + 94)". Оно правильное?
1.) if (byteswriten != sizeof(gettextex)) return; оставляет...14.04.10 14:54 Автор: kstati <Евгений Борисов> Статус: Elderman Отредактировано 14.04.10 14:56 Количество правок: 1
1.) if (BytesWriten != sizeof(GETTEXTEX)) return; оставляет процесс не закрытым — поправь.
2.) на чём, собственно обломы идут-то? Что под клоподавом видно?
А хендл окна точно тот? Тыркни в окно RichEdit'a определялкой Spy++, мож там ещё есть вложенное окно?09.04.10 22:21 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 09.04.10 22:21 Количество правок: 1
SPY++ мигает именно на том окне (речь о QIP Infinum) идёт, т.е. хендл точно правильный. Вложенных окон нет.10.04.10 14:32 Автор: Vedrus <Serokhvostov Anton> Статус: Member