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

Чаво я не так делаю?   Найти похожие ветки 

 
Карлсон ©   (2002-08-26 17:07) [0]

procedure TForm1.Button1Click(Sender: TObject);
var
Nm: array [0..255] of Char;
Cs: array [0..255] of Char;
begin
Button1.Caption:=IntToStr(FindWindowEx(FindWindow(nil,"test.txt - Notepad"),0,"Edit",nil));
GetWindowText(StrToInt(Button1.Caption),Nm,255);
GetClassName(StrToInt(Button1.Caption),Cs,255);
ListBox1.Items.Add(String(Nm)+"/"+String(Cs));
end;

дескриптор эдита из блокнота я нахожу и он совпадает с указаниями другой программы, но вот текст у меня оттуда не получается :(
в документе всего несколько символов, просто для теста.
винсайт текст видит, а у меня просто пустая строка добавляется.
наверное вместо нуля нужно указать класс дочернего окна или как?


 
Игорь Шевченко ©   (2002-08-26 17:45) [1]

Даже не знаю, что и сказать...


 
MBo ©   (2002-08-26 17:47) [2]

A чаво сделать-то хотелось??


 
Карлсон ©   (2002-08-26 17:54) [3]

что значит не знаете, что сказать?
чаво, чаво.
хотелось вытащить текст из блокнота и в свою программу запихнуть.


 
Игорь Шевченко ©   (2002-08-26 18:06) [4]

GetWindowText:

This function cannot retrieve the text of an edit control in another application.


 
MBo ©   (2002-08-26 18:13) [5]

>что значит не знаете, что сказать?
дык знать бы, о чем говорить...

procedure TForm1.Button1Click(Sender: TObject);
var h:thandle;
p:pchar;
l:integer;
begin
h:=findwindow(Pchar("Notepad"),nil);
if h<>0 then begin
h:=findwindowex(h,0,PChar("Edit"),nil);
l:=sendmessage(h,wm_gettextlength,0,0);
getmem(p,l+1);
sendmessage(h,wm_gettext,l,integer(p));
end;
memo1.lines.text:=P;
end;


 
Карлсон ©   (2002-08-26 19:43) [6]

Большое СПАСИБО!!!


 
MBo ©   (2002-08-27 07:10) [7]

для большей надежности не помешает проверить h на 0 и после findwindowex и обязательно перенести memo1.lines.text:=P; внутрь If-а


 
Карлсон ©   (2002-08-27 13:33) [8]

я уже сделал все необходимые проверки, а то если памяти выделялось 0, прога из которой вытаскивался текст висла.



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

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



Память: 0.46 MB
Время: 0.015 c
3-31667
Sirus
2002-09-20 14:52
2002.10.10
Как в TQRExpr получить разницу дат???


1-31868
croupeir
2002-09-29 14:28
2002.10.10
Вертикальный текст


1-31814
sammy
2002-10-02 12:46
2002.10.10
change date


1-31884
alf_
2002-09-28 17:54
2002.10.10
система координат


14-32014
Ирка
2002-09-17 17:04
2002.10.10
Delphi 4




   Наверх