Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как это сделать? [D6, D7, Win95/98, WinXP]


Страницы:   1 2

Triax ©   (2007-07-08 12:01:00) 

Необходимо считывать данные из компонента TLabel другого приложения.


Triax   (2007-07-10 14:37:00) [1]

Почти все получилось. Спасибо всем за оказанную поддержку.


Gydvin   (2007-07-10 07:40:00) [2]

Воот! Теперь более понятно. Теперь ищем в инете утилиту для определения упаковщика, например "pe shiffer" (она идет в составе Pe Tools), затем на основе показаний этой утилиты подбираем нужный унпакер. Благо для большенства пакеров уже давно есть автоматические унпакеры


Triax   (2007-07-10 07:05:00) [3]

Я пробовал и это не выход.
Ресурс повреждён (вероятно файл сжат или зашифрован).


evvcom   (2007-07-09 17:07:00) [4]

А ты 2 раза попробуй


Triax   (2007-07-09 16:58:00) [5]

Да читал и пробовал не получается.


homm_ro   (2007-07-09 15:35:00) [6]

Пилять, прочти уже [13] и [17]!


Triax   (2007-07-09 15:09:00) [7]

FindWindowEx находит только по имени класса TStaticText один компонент а их три


homm_ro   (2007-07-09 14:31:00) [8]

> [16] Юрий Зотов ©   (09.07.07 14:23)

Да вопрос и так не возникает, все элементарно правится в рессурсах.


Юрий Зотов   (2007-07-09 14:23:00) [9]

> Triax ©   (09.07.07 13:41) [14]

Если бы Вы прочитали справку по тем функциям, которые Вам подсказали, то этот вопрос бы не возник.


homm_ro   (2007-07-09 13:43:00) [10]

> Компонент находит

Кто?


Triax   (2007-07-09 13:41:00) [11]

Компонент находит, но на форме их три как найти каждый.
Находит только всегда один!


homm   (2007-07-09 10:18:00) [12]

> По сути нужно только увеличить размер данного компонента
> в этом приложении и размер шрифта.

Restorator в помошь.


Юрий Зотов   (2007-07-08 15:38:00) [13]

> Triax ©   (08.07.07 12:56) [3]

1. Вам повезло. ТStaticText - это не TLabel, он имеет окно, с которым можно работать. С TLabel все было бы намного сложнее.

2. FinWindow ищет ТОЛЬКО окна верхнего уровня, а Вам нужно найти ДОЧЕРНЕЕ окно. Используйте FindWindowEx (или FindWindow с GetWindow). И не забудьте, что окно, которое Вы ищете, может лежать и на другом (промежуточном) дочернем окне, а не обязательно на окне верхнего уровня.


Gydvin   (2007-07-08 15:18:00) [14]


> Triax ©   (08.07.07 13:02) [5]
> По сути нужно только увеличить размер данного компонента
> в этом приложении и размер шрифта.

Попробовать ресторатор или ресхакер


Dib@zol   (2007-07-08 13:45:00) [15]

Ах да. Попробуй так: ChangeText('STATIC', nil, '');
Я ж забыл что TStaticText тоже построен на STATIC'e.


Triax   (2007-07-08 13:40:00) [16]

ChangeText('TStaticText', nil, '');

W:=FindWindow(ctlType, ctlName);
if W <> 0 then
 ShowMessage('нашел')
else
 ShowMessage('не нашел');

Не находит с пустым именем

Если есть имя то находит


Dib@zol   (2007-07-08 13:19:00) [17]


> Triax ©   (08.07.07 13:14) [7]

Мдя. ChangeText('ТStaticText', nil, '');


Triax   (2007-07-08 13:14:00) [18]

Что делать окно без имени. Form1.Caption:='';


Dib@zol   (2007-07-08 13:12:00) [19]

procedure ChangeText(ctlType, ctlName, newText:PChar)
var
 W : HWND;
begin
 W:=FindWindow(ctlType, ctlName);
 SetWindowText(W, newText);
end;

...

ChangeText('ТStaticText', nil, 'ТвойНовыйТекст');


Triax   (2007-07-08 13:02:00) [20]

По сути нужно только увеличить размер данного компонента в этом приложении и размер шрифта.
Но декомпилированная программа обратно не компилируется.
Думаю выход в дополнительной программе которая просто будет считывать этот компонент по таймеру и выводить в требуемых размерах


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо