Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.10;
Скачать: 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 вся ветка

Текущий архив: 2002.10.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
14-31999
Sniffer
2002-09-16 19:23
2002.10.10
С кем я общался


3-31645
toxa
2002-09-19 20:29
2002.10.10
Связь 3-х таблиц в IBase


4-32111
Aleksandr
2002-08-22 12:59
2002.10.10
Помогите, ну как узнать, запущено ли какое-то приложение?


1-31756
slim2
2002-10-01 15:38
2002.10.10
Help, help, help... 8-(


4-32082
Shrek
2002-08-26 21:49
2002.10.10
ShellExecute