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

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

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


flaxe ©   (2007-05-20 21:13:00) 

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


Leonid Troyanovsky   (2007-05-21 10:01:00) [1]


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

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

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

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

--
Regards, LVT.


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


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


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


Elen   (2007-05-21 08:26:00) [3]


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

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


homm   (2007-05-21 01:16:00) [4]

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

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


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

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


Anatoly Podgoretsky   (2007-05-20 22:17:00) [6]

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

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


homm   (2007-05-20 22:14:00) [7]

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

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


Anatoly Podgoretsky   (2007-05-20 22:09:00) [8]

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


Calibr   (2007-05-20 21:29:00) [9]

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


Наверх

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