Сейчас на форуме: _MBK_, ut2004, vsv1 (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Как считать данные из TMessageForm порожденного чужой программой?
Посл.ответ Сообщение

Ранг: 8.4 (гость)
Активность: 0.020
Статус: Участник

Создано: 28 декабря 2006 09:25
· Личное сообщение · #1

Есть чужая программа (Delphi) порождающая окно типа TMessageForm:
ShowMessage('Текст который мне нужно получить');
Как мне получить данные (для анализа в моей программе) этого окошка?
Какую API функцию или WM надо отправить окну? Или как найти в памяти?




Ранг: 221.8 (наставник)
Активность: 0.150
Статус: Участник

Создано: 28 декабря 2006 09:44
· Личное сообщение · #2

FindWindow если я правильно понял вопрос...




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 28 декабря 2006 09:58
· Личное сообщение · #3

Cracker Free пишет:
Как мне получить данные (для анализа в моей программе) этого окошка?

Для какого анализа? Имеешь ввиду по надписи нажатие на определенную кнопку? Тогда, как сказал Барон, FindWindow и SendMessage(WM_CLICK, ...).

ИМХО, место теме в вопросах новичков.




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 28 декабря 2006 22:41 · Поправил: Maximus
· Личное сообщение · #4

Cracker Free

function GetText(wnd:hwnd):string;
var p:array [0..256] of char;
begin
GetWindowText(wnd,p,255);
result:=strpas(p);
end;

Text:=GetText(FindWindow(TMessageForm, nil));


-----
StarForce и Themida ацтой!




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 28 декабря 2006 23:18 · Поправил: Demon666
· Личное сообщение · #5

Maximus
Скорее всего, ему нужен именно вот этот текст
Cracker Free пишет:
'Текст который мне нужно получить'

Cracker Free
Была тема по этому вопросу название “взлом …” (не помню дальше) в разделе новичков поищи
А вообще если именно это имеется в виду, то программным путем не так и просто получить эту надпись 'Текст который мне нужно получить' и все зависит также от версии delphi – ИМХО.

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com





Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 29 декабря 2006 00:47
· Личное сообщение · #6

Действительно, сейчас покопался в коде, узнал, что во всяких ShowMessage текст выводится на вторичную канву при создании окна (т.е. используется двойная буферизация!!!). Поэтому когда текст выводится на само окно, он представляет из себя всего лишь изображение.

Cracker Free
Так что лучше лови CreateMessageDialog и там изменяй текст ( у меня этот DrawText находится по смещению 1F8h от начала функции).


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


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