Вниз
Скачать: 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.013 c
4-28332
Renat
2002-10-23 16:55
2002.12.09
С помощью какой API - функции можно вызвать из моей программы..


4-28362
SVM
2002-10-26 00:45
2002.12.09
Снова Ресурсы


3-27824
Карелин Артем
2002-11-15 11:02
2002.12.09
Как вам такой запрос???


3-27857
voland34
2002-11-20 23:48
2002.12.09
трабла с indexfield for ClientDataSet


3-27836
SashaL
2002-11-20 09:37
2002.12.09
Апгрейд MS SQL Server и Delphi.




   Наверх