Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.27;
Скачать: CL | DM;

Вниз

WinAPI   Найти похожие ветки 

 
SergeyM   (2002-03-24 12:34) [0]

Если еще остались добрые люди на Земле, то помогите!!!
Мне необходимо прочитать текстовую информацию из окна друго приложения(старо как мир), я делаю это нижеприведенным способом, из блокнота читает, а из моего окна не читает.
Мое окно представляет подчиненое,в нем отображаются значения переменных при трассировке программы, внешне обычный блокнот
слева и снизу скроллер , ввнутри текст.
Может кто-нибудб объяснит в чем дело?
Заранее благодарен всем.!!!

procedure TForm1.Timer1Timer(Sender: TObject);
var
h:HWND;
buf:Array [0..255] Of Char;
begin
h:=WindowFromPoint(Mouse.CursorPos);
SendMessage(h,WM_GETTEXT,255,Integer(@buf));
label3.Caption:=Buf;
end;


 
Raptor ©   (2002-03-24 16:34) [1]

Какой класс у окна из которого нельзя вытянуть текст?


 
Севостьянов Игорь ©   (2002-03-25 16:26) [2]

Да у тебя что-то твоим окном откуда получаешь информацию
Посмотри IsWindow(Hwnd) ( The IsWindow function determines whether the specified window handle identifies an existing window)
Опять же посмотри, а хендл окна, который ты получаешь = тому самому, что тебе надо ? ( Winsight32( Borland) или Spy++( MS - Visual Studio))

Кстати в функции вставь вместо 255 переменную MAX_PATH, а то буфер у тебя 256, а длина 255 Лучше если она будет больше.. Опять же можно и через SizeOf(Buf). Посмотри, что выдает GetLastError ( SysErrorMessage(GetLastError) )


 
SergeyM   (2002-03-25 19:24) [3]

Raptor, функция GetClassName() возвращает мне с заголовка окна:
PFE_FILE,
а с текстового поля: PFE_TEXT
Если оно(то бишь окно) чтает иформацию из какого-то файла , то кок его(т.е. файл) можно найти?



Огромное спасибо всем ответившим!


 
SergeyM   (2002-03-25 19:28) [4]

Севостьянов Игорь, IsWindow(Hwnd) естественно возвращает true
Спасибо за помощь!


 
SergeyM   (2002-03-27 16:43) [5]

Если еще остались добрые люди на Земле, то помогите!!!
Мне необходимо прочитать текстовую информацию из окна друго приложения(старо как мир), я делаю это нижеприведенным способом, из блокнота читает, а из моего окна не читает.
Мое окно представляет подчиненое,в нем отображаются значения переменных при трассировке программы, внешне обычный блокнот
справа и снизу скроллер , ввнутри текст.
Может кто-нибудь объяснит в чем дело?
Заранее благодарен всем.!!!

procedure TForm1.Timer1Timer(Sender: TObject);
var
h:HWND;
buf:Array [0..255] Of Char;
begin
h:=WindowFromPoint(Mouse.CursorPos);
SendMessage(h,WM_GETTEXT,256,Integer(@buf));
label3.Caption:=Buf;
end;

функция GetClassName() возвращает мне с заголовка окна:
PFE_FILE,
а с текстового поля: PFE_TEXT
Если оно(то бишь окно) читает информацию из какого-то файла , то как его(т.е. файл) можно найти?








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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
1-88425
Dr.Aleck
2002-05-16 21:52
2002.05.27
Как при помощи Делфи6 поменять ф-ию в чужой ДЛЛ-ке?


7-88645
Mulder
2002-03-01 18:12
2002.05.27
Помогите начинающему...


1-88440
Alibaba
2002-05-17 12:53
2002.05.27
Как раcшарить диск?


1-88535
Alex_Ph
2002-05-15 22:32
2002.05.27
Необходимо запустить программу из Delphi


3-88314
Ura
2002-04-29 11:14
2002.05.27
Prepare и UnPrepare