![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как это сделать? [D6, D7, Win95/98, WinXP]
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]По сути нужно только увеличить размер данного компонента в этом приложении и размер шрифта.
Но декомпилированная программа обратно не компилируется.
Думаю выход в дополнительной программе которая просто будет считывать этот компонент по таймеру и выводить в требуемых размерах