Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.044 c
2-1179601887
LoRd1
2007-05-19 23:11
2007.06.10
Отключение/включение клавиатуры


2-1179472932
wWwWw
2007-05-18 11:22
2007.06.10
CloseFile


15-1179464710
MBo
2007-05-18 09:05
2007.06.10
OpenSource в действии ;)


2-1179461946
zsv
2007-05-18 08:19
2007.06.10
StringGrid


3-1174556149
dolmat
2007-03-22 12:35
2007.06.10
Изменение свойств поля





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский