Главная страница
    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.45 MB
Время: 0.005 c
1-88437
KPbIC
2002-05-15 13:51
2002.05.27
LIB файлы, как с ними быть?


1-88477
cult
2002-05-15 13:00
2002.05.27
Перерисовка компонента.


1-88544
NailS
2002-05-15 12:46
2002.05.27
Exception : Privileged instruction


1-88550
st_Lexa
2002-05-16 11:30
2002.05.27
Как разделить форму?


1-88514
Alice
2002-05-15 19:01
2002.05.27
Как показать значок своего приложения на форме?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский