Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.11.2011, 20:34
Мяфк Мяфк вне форума
Начинающий
 
Регистрация: 30.05.2010
Сообщения: 102
Репутация: 10
По умолчанию FindWindowEx label

Добрый день. В интернете прочитал, что FindWindowex не находи label, так как у него нету своего хандла. А я пишу программу, которая как раз таки должна с лэйбла взять текст. Есть ещё варианты, как взять этот текст?
Мой код, на всякий случай.
Код:
Hwnd1:=FindWindow(nil,'Form1');
Hwnd2:=FindWindowEx(Hwnd1,0,'TLabel','Label1');
GetWindowText(Hwnd2,Buff,SizeOf(Buff));
s:=StrPas(Buff);
label2.caption:=s;
Ответить с цитированием
  #2  
Старый 24.11.2011, 21:22
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Вообще TLabel это не оконный класс и Label просто картинка на форме, поэтому то, что вы хотите сделать-это не реально таким способом.

Последний раз редактировалось Pilot_Red, 24.11.2011 в 21:28.
Ответить с цитированием
  #3  
Старый 24.11.2011, 22:01
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Можно дамп снять и поворошить в нем.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #4  
Старый 24.11.2011, 23:11
Мяфк Мяфк вне форума
Начинающий
 
Регистрация: 30.05.2010
Сообщения: 102
Репутация: 10
По умолчанию

Можно поточнее?
Ответить с цитированием
  #5  
Старый 25.11.2011, 03:00
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Вроде бы в WinAPI статические надписи (LABEL) имеют классы STATIC или TEXT. Попробуй по ним поискать. А вообще, с Delphi7 вроде бы идёт тулза, которая зовётся WinSight. Попробуй в ней посмотреть список окон-"детей", может, нужное тебе там есть... Тогда просто смотришь класс и название надписи, и готово.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #6  
Старый 25.11.2011, 03:34
Мяфк Мяфк вне форума
Начинающий
 
Регистрация: 30.05.2010
Сообщения: 102
Репутация: 10
По умолчанию

Я Просматривал другой тулзой из автоита (autoit window info), лэйбел не палится вообще.
Ответить с цитированием
  #7  
Старый 25.11.2011, 03:42
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

И не должен. Класс STATIC имеет контрол TStaticText, наследуемый от Windows, а TLabel полностью "изобретение" фирмы Borland. Кстати класс STATIC нормально ищется функцией FindWindowEx.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #8  
Старый 25.11.2011, 11:46
Мяфк Мяфк вне форума
Начинающий
 
Регистрация: 30.05.2010
Сообщения: 102
Репутация: 10
По умолчанию

Дак что делать-то? Человек писал подобную программу (к сожалению я его не знаю), значит способ есть.
Ответить с цитированием
  #9  
Старый 25.11.2011, 12:02
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

TLabel и через EnumChildWindows не перечисляется, ибо это не окно.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #10  
Старый 25.11.2011, 12:05
Мяфк Мяфк вне форума
Начинающий
 
Регистрация: 30.05.2010
Сообщения: 102
Репутация: 10
По умолчанию

Ребята, вы все отвечаете одинаково, я уже понял это 4 поста назад, вы скажите что делать?
Ответить с цитированием
  #11  
Старый 25.11.2011, 13:14
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Вышли прогу, на которой висит этот Label!
Ответить с цитированием
  #12  
Старый 25.11.2011, 13:39
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от Мяфк
Есть ещё варианты, как взять этот текст?
текст не меняет позицию на родителе? стандартный шрифт? тогда делается снимок всего окна в DC и декодируется текст определеного прямоугольника)
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #13  
Старый 27.11.2011, 18:24
Мяфк Мяфк вне форума
Начинающий
 
Регистрация: 30.05.2010
Сообщения: 102
Репутация: 10
По умолчанию

В общем я понял, всё слишком сложно, не получится написать такую программу.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:29.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025