Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.009 c
3-88389
Snake
2002-05-02 14:26
2002.05.27
Не работает Locate!


3-88386
Makss
2002-05-04 10:10
2002.05.27
ICQ!!


1-88498
MVova
2002-05-15 17:15
2002.05.27
OleVariant в DCOM


1-88547
Kiborg
2002-05-16 05:12
2002.05.27
Перерисовка меню


1-88459
PShadow
2002-05-15 13:28
2002.05.27
Дельфи ругается на CreateOleObject




   Наверх