Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.005 c
1-88536
Коля
2002-05-16 08:51
2002.05.27
Мастера, помогите сложить 2 даты


14-88592
ATLANTIDO
2002-04-17 00:00
2002.05.27
Не понимаю ...


7-88643
Neo_Max
2002-03-01 14:55
2002.05.27
Запуск внешних программ


3-88362
Виктория
2002-05-01 15:20
2002.05.27
Динамические поля


3-88368
Taciturn
2002-05-02 20:25
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский