![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Чаво я не так делаю?
Карлсон © (2002-08-26 17:07:00)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-27 13:33:00) [1]я уже сделал все необходимые проверки, а то если памяти выделялось 0, прога из которой вытаскивался текст висла.
MBo (2002-08-27 07:10:00) [2]для большей надежности не помешает проверить h на 0 и после findwindowex и обязательно перенести memo1.lines.text:=P; внутрь If-а
Карлсон (2002-08-26 19:43:00) [3]Большое СПАСИБО!!!
MBo (2002-08-26 18:13:00) [4]>что значит не знаете, что сказать?
дык знать бы, о чем говорить...
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 18:06:00) [5]GetWindowText:
This function cannot retrieve the text of an edit control in another application.
Карлсон (2002-08-26 17:54:00) [6]что значит не знаете, что сказать?
чаво, чаво.
хотелось вытащить текст из блокнота и в свою программу запихнуть.
MBo (2002-08-26 17:47:00) [7]A чаво сделать-то хотелось??
Игорь Шевченко (2002-08-26 17:45:00) [8]Даже не знаю, что и сказать...