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

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

Доступ к объекту другого приложения [D5, Win95/98]


VID ©   (2002-02-19 21:08:00) 

Предположим у меня есть информация о названии, и тепе какого-либо объекта(BTN1:TBITBTN) в запущеном чужом приложении. КАК можно ИЗ СВОЕЙ программы получить доступ к свойствам (хотя бы к тем, которые обычно может изменять Object Inspector) этого объекта, и возможность изменять свойства этого объекта.

В идеале, видиться также создание своей программы, которая с помощь компонента TProperEditor (есть такой, из пакета DreamCollection) будет менять все Published-свойства любого объекта, любого(или почти) запущенного приложения.

Неплохая получилась бы штучка :)

Ну, как, есть идеи ?


VID   (2002-02-20 19:50:00) [1]

To all peoples: Т.е. Вы хотите сказать, что я размечтался ? :)

Если так... т.е. получается что таких программ ещё нет ?

Тогда получается, ещё одна нереализованная идея... Честно говоря не верится что невозможно осуществить этот проект... Может и не на дельфи, но всё-таки скорее всего возможно, Хотя из ваших рассуждения я понял, что мне этого не сделать... пока не сделать :)


Юрий Зотов   (2002-02-20 18:33:00) [2]

> все это работает только для 16ти битных приложений.
> Можно ли сделать подобное для 32-битных - не знаю.

В том-то все и дело, что в Win16 адресное пространство было ОБЩИМ для ВСЕХ приложений, а в Win32 КАЖДЫЙ процесс имеет СВОЕ адресное пространство.


McSimm   (2002-02-20 18:13:00) [3]

Я когда-то написал именно такую программу. :)
Из нее можно менять published поля большинства объектов чужой программы на Делфи.

Один ньюанс - все это работает только для 16ти битных приложений. Можно ли сделать подобное для 32-битных - не знаю.


[NIKEL]   (2002-02-20 18:12:00) [4]

просто так до другого объекта ты не достучишься, на то и винда писалась так чтоб все процессы были защищены и работали в своём адресном пространстве, надо чтоб этот объект имел оговоренный программируемый интерфейс, которым можно пользоваться (но явно не менять его внутреннюю организацию)


VID   (2002-02-20 18:05:00) [5]

TO Digitman: ну не совсем... хотя возможно я просто вопрос не понял.

А вообще, понятно, что не все программы пишуться на дельфи, и не все которые пишуться на дельфи, использую VCL.

ОК, тогда сделаем ограничения: разрабатываемая программы будет иметь доступ к VCL-объектам только тех прог, которые написаны на D и используют VCL.

Это наверное попроще ?


Digitman   (2002-02-20 13:39:00) [6]

прежде чем летать в "VCL-объектных небесах", давай еще чуть "потопчемся по ОС-объектной земле")

надо понимать, ты себе четко представляешь, как вообще можно обратиться к АП чужого процесса для чтения из его сегментов / выполнения фрагмента кода в его код.сегменте ?


DieHard   (2002-02-20 11:52:00) [7]

Сдается мне, тебе придется обращаться к этому объекту через функции WinAPI и самому реализовывать всю функциональность VCL в своем приложении, да и то, если этот объект имеет хэндл окна...


VID   (2002-02-20 11:24:00) [8]

что совсем никаких идей ?


Наверх

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