Главная страница
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.026 c
15-1179301601
Knight
2007-05-16 11:46
2007.06.10
Плагины в dll...


15-1179035202
Пол
2007-05-13 09:46
2007.06.10
инет-магазин


15-1179245045
mr1Andersen
2007-05-15 20:04
2007.06.10
Подскажите где Вы, программисты, достаете библиотеки, компоненты


2-1179425992
Alexdeil
2007-05-17 22:19
2007.06.10
График


15-1179320710
IMHO
2007-05-16 17:05
2007.06.10
ГКЧП (1991, август)