Форум: "Начинающим";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
ВнизИзменять свойства объектов других приложений Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.053 c