Вниз
Скачать: CL | DM;

Окна хендлы и эдиты   Найти похожие ветки 

← →
ULTRIX ©   (2002-10-26 01:26) [0]

У меня такой серьёзный вопрос. С помощью своей программы я открываю другую программу, в которой есть несколько tedit-ов, комбобокс и пару буттонов. Нахожу это окно, получаю хендл, а прочесть инфу в едитах никак не могу - управлению поддаётся только заголовок окна. Так что вот сам собственно вопрос, как сделать то, чего я не умею (пока ;)))


← →
Cobalt ©   (2002-10-26 02:22) [1]

Ошибка в 17-й строке


← →
SPeller ©   (2002-10-26 03:10) [2]

Используй WM_GETTEXT и ещё какое-то, котрое заголовок возвращает.


← →
ULTRIX ©   (2002-10-26 11:01) [3]

procedure TForm1.Button2Click(Sender: TObject);
var TheWindowHandle : THandle;
TextToSet: PChar;
begin TheWindowHandle := FindWindow(0, Мастак Дельфи");
BringWindowToTop(TheWindowHandle);
texttoset:="Мастак Дельфи.ру";
SendMessage(TheWindowHandle, WM_setTEXT, 10, integer(texttoset));
end;


Вот часть из исходника программы...


← →
SPeller ©   (2002-10-26 12:36) [4]

А проверять хендл на верность пробовал? Может, FindWindow тебе ноль возвращает?


← →
ULTRIX ©   (2002-10-28 00:27) [5]

Смысл в том, что этой частью исходника могу только изменить заголовок окна, например, "мастак дельфи", но никак не прочитать в этом окне содержание tedit-ов...


← →
Alex4444444444   (2002-10-28 01:35) [6]

Tak nado, navernoe, Handles editov naiti? Ya uzh tochno ne pomnyu, chtoto tipa FindChildWin...? ili EnumChildWin...?


← →
ULTRIX ©   (2002-10-28 11:32) [7]

Придётся попробовать ;)


← →
Song ©   (2002-10-28 11:43) [8]

2SPeller © (26.10.02 12:36)
FindWindow() не может вернуть дискриптор контрола, только верхнего окна.


← →
SPeller ©   (2002-10-28 11:47) [9]


> Song © (28.10.02 11:43)

ОК, приму к сведению). Но ведь в примере кода речь шла об окне верхнего уровня.


← →
ULTRIX ©   (2002-10-28 21:16) [10]

To Song - тогда что может вернуть?


← →
Ihor Osov'yak ©   (2002-10-28 22:08) [11]

to ULTRIX © (28.10.02 21:16)

Пройдись по дочерним окошкам. Есть такие волшебные слова как

GetWindow(хендл_верхнего_окна,GW_CHILD) для перехода к первому вложеному окошку и
GetWindow(хендл,GW_HWNDNEXT) для перехода к сдедующену окошку на том же уровне...
Также посмотри на GetDlgItem ...

Зы - а еще погоняй winsign или spy++ - много чего понятнее станет ...




Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.985 c
14-28238
Anatoly Podgoretsky
2002-11-18 00:26
2002.12.09
Именинники 18 ноября


1-28116
Starkom
2002-11-28 14:32
2002.12.09
Как отследить момент выгрузки BDE?


1-28107
D_V_I
2002-11-28 13:15
2002.12.09
MoveTo, Pen.Color и LineTo слишком медленные, надо быстрее


1-27920
^Sanya
2002-11-28 21:45
2002.12.09
Обработка исключений...


1-27945
@Ujin
2002-11-27 15:35
2002.12.09
AtiveX формы, COM и т.п....




   Наверх