![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как посмотреть переменные в другой программе? [D6, Win2k]
ev © (2001-12-15 19:24:00)сабж
ev (2001-12-18 20:18:00) [21]Какая разница как получить значение переменной (статиктексту всегда можно присвоить значение переменной)!
Т.е. задача получить значение переменной, а получить можно любым способом! ;)
Но глюк в том, что я не могу понять, как это сделать (winAPI не знаю :().
Может кто поделится исходником?
P.S. обе программы мои (переменную могу писать куда хочу)
Юрий Зотов (2001-12-18 17:53:00) [22]> Polevi
как узнать адрес переменной ?
Думаю, вдаваться в подробное обсуждение нет смысла и предлагаю считать этот вопрос шуткой.
ОК?
Polevi (2001-12-18 17:06:00) [23]ok :)
Digitman (2001-12-18 16:45:00) [24]>Polevi
Не понял)
imho, <Юрий Зотов> блестяще определился в развитии ситуации с вопросами автора (а не <Suntechnic> - он не автор
) по ходу дискуссии
Polevi (2001-12-18 15:58:00) [25]2Юрий Зотов
ReadProcessMemory это замечательно, но это чисто академический совет - присоединяюсь к вопросу Suntechnic © - как узнать адрес переменной ?
Юрий Зотов (2001-12-18 14:52:00) [26]> ev
Вопрос звучал: "Как посмотреть переменные в другой программе?"
Ответ очевиден: OpenProcess + ReadProcessMemory. О чем и говорили с самого начала VladD2 и другие. Естественно, никакие TLabel здесь ни при чем. Потому что проблема не в том, как ВЫВЕСТИ эти значения, а как их ПОЛУЧИТЬ.
Но, судя по Вашим следующим сообщениям, первоначальный вопрос Вы задали неверно и на самом деле Вам нужен всего лишь текст контрола на чужом окне. Если это так, то см. сообщения Dimaond Cat и Виктора Щербакова. А также архивы и FAQ - этот вопрос повторяется, как минимум, дважды в неделю.
Виктор Щербаков (2001-12-18 12:29:00) [27]FindWindowEx
ev (2001-12-18 12:04:00) [28]а как получить хендл статиктекста? ;)
Dimaond Cat (2001-12-18 01:34:00) [29]на статиктекст можно выслать сообщение
sendmessage(хендл статиктекста,wm_gettext,кол-во символов ,Cardinal(Pchar(Cds.lpdata))) где CDS это TCopyDataStruct
ev (2001-12-17 20:56:00) [30]> Юрий Зотов
> TLabel - это просто рисунок. Окно - это TStaticText.
Хорошо, тогда переформулируем вопрос: как узнать, чтот находится в TStaticText (и если их несколько) ?
> И вообще, какое отношение имеет TLabel к данному сабжу?
var
x: integer;
...
label1.caption:=inttostr(x);
...
Юрий Зотов (2001-12-17 19:50:00) [31]> ev © (17.12.01 19:36)
1. > TLabel - тоже теоретически окно.
НЕТ! И еще раз: НЕТ!
TLabel - это просто рисунок. Окно - это TStaticText.
2. > у окна-то Caption узнать можно, почему labe1.caption нельзя узнать?
Вот как раз поэтому и нельзя. Для Windows никаких TLabel просто не существует. В принципе.
3. И вообще, какое отношение имеет TLabel к данному сабжу?
ev (2001-12-17 19:36:00) [32]Если найти окно (FindWindow), то потом теоретически можно узнать значение в TLabel (TLabel - тоже теоретически окно).
Вопрос: как это сделать?
P.S. у окна-то Caption узнать можно, почему labe1.caption нельзя узнать?
erik (2001-12-17 18:52:00) [33]Использй SharedMemoryFile.
Suntechnic (2001-12-17 17:40:00) [34]> VladD2 © (17.12.01 00:37)
Всего то 2 проблемы:
1) Попасть в это адресное пространство
2) Знать эти адреса
ev (2001-12-17 17:36:00) [35]А если эти переменные выводить в TLabel на главной форме?
VladD2 (2001-12-17 00:37:00) [36]А кто нибудь из отвечающих Рихтера читал?
Если извесны адреса этих переменных в адресном пространстве другого процесса, то очень даже можно. Как? Читайте Рихтера. (см. http://www.rsdn.ru/res/book/?win32/winpro.xml)
Вадим (2001-12-16 23:33:00) [37]т.е. никак
Polevi (2001-12-15 20:35:00) [38]Также, как и постоянные