Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.10;
Скачать: CL | DM;

Вниз

Изменять свойства объектов других приложений   Найти похожие ветки 

 
flaxe ©   (2007-05-20 21:13) [0]

Понадобилось влезать в другие приложения и менять в них свойство объектов, всвязи с чем вопросы как можно осуществеить слудующее:
1) Найти все формы в стороннем приложении и делать из видимыми/невидимыми
2) Найти все объекты на этой форме(баттноы и прочие) и изменять их свойства


 
Calibr ©   (2007-05-20 21:29) [1]

ну 1) легко. Перечисляешь все дочерние окна функцией EnumWindows или EnumChildWindows, затем ShowWindow(h, SW_HIDE) или ShowWindow(h, SW_SHOW), а вот 2) не знаю


 
Anatoly Podgoretsky ©   (2007-05-20 22:09) [2]

Его не окна интересуют, а формы и объекты


 
homm ©   (2007-05-20 22:14) [3]

> 2) Найти все объекты на этой форме(баттноы и прочие) и изменять
> их свойства

А если на форме нет объектов, только окна? Да и не формы это, а тоже окна? Другими словами, далеко не все программы написаны не VCL, и не о каких свойствах которые тебе нужны не знают. Но даже для VCL программ получить какой-либо объект имеено как объект (класс) — нетривиальная задача. А когда ты все-же получишь, скажи мне, как ты собираешься с ним работать? Тебе понадобиться обширная база знаний о таблицах адресов тех или иных функций и свойств для всех существующих версий VCL включая, наверное debug разновидности, со всеми сервиспаками. Штук так 50 различных сочетаний наверное получиться. Умножаем на предполагаемое количество нужных тебе объектов (пусть доже 20) = 1000 таблиц вызовов для классов. В ручную тебе столько информации не осилить, придется писать какуюнить утилитку, которая по DCUшкам различных версий ……(я мог бы продолжить да бесполезное это занятие)
И ты получишь возможность изменять свойства 30-50% объектов в 10% преложений. Оно тебе все еще нужно?


 
Anatoly Podgoretsky ©   (2007-05-20 22:17) [4]

> homm  (20.05.2007 22:14:03)  [3]

Это все известно, но прочитай внимательно тему и вопрос, ну хочет он странного.


 
Belorus ©   (2007-05-21 01:05) [5]

Есть такая программка Enabler, которая в винде может элементы управления разблокировать. Если в кнопка серая(то бишь Enabled = False) оно делает её обычной. Порой это весьма прикольно.
Дык делает это по клику на этом самом элементе. Видимо аффтору нужно нечто подобное.


 
homm ©   (2007-05-21 01:16) [6]

> Видимо аффтору нужно нечто подобное.

Тем не менее он спросил совсем о другом.


 
Elen ©   (2007-05-21 08:26) [7]


> Понадобилось влезать в другие приложения

Написанные на Делфи или вообще?. Если на Делфи то мона попробовать FindControl.


 
Сергей М. ©   (2007-05-21 09:06) [8]


> Elen ©   (21.05.07 08:26) [7]


Вызов FindControl() имеет смысл лишь в контексте процесса текущего приложения.


 
Leonid Troyanovsky ©   (2007-05-21 10:01) [9]


> Сергей М. ©   (21.05.07 09:06) [8]

> Вызов FindControl() имеет смысл лишь в контексте процесса
> текущего приложения.

Можно еще ограничить:

Вызов FindControl имеет смысл лишь из приложения
(но, не из библиотеки) и только для его контролов.

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2007.06.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
2-1179706835
delphino
2007-05-21 04:20
2007.06.10
Как отфильтровать по численному полю?


2-1179579674
dfsfd
2007-05-19 17:01
2007.06.10
Path


15-1179085322
P
2007-05-13 23:42
2007.06.10
Жителя Киева лишили свободы за продажу нелицензионной продукции.


15-1178883892
Servelat
2007-05-11 15:44
2007.06.10
Даром преподаватели...


15-1179142304
elserpiente
2007-05-14 15:31
2007.06.10
комопнент для обновления программы