Главная страница
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
3-88364
Pavel_mal
2002-05-01 16:59
2002.05.27
Отчет для таблицы


3-88360
agrig
2002-04-28 11:11
2002.05.27
Неправильное обновление поля типа N в парадоксе


1-88460
YuriG
2002-05-15 12:50
2002.05.27
По поводу метафайлов


3-88324
Fareader
2002-04-29 19:51
2002.05.27
Two-Phase Commit


1-88482
Durak
2002-05-14 16:42
2002.05.27
ZIP