Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 07.08.2007, 17:26   #1
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,230
Сообщение Управление компонентами(видимыми и невидиммыми) в чужой программе(любой)

Мне надо получить список всех компонентов на чужой программе с названиями их классов (можно и хендл), начальные значения считать.
----------------------------------------------------------------------
В моей программе допускается оперировать с 65 компонентами, так я хочу узнать принадледлежат ли они моим 65 компонентам( опредилить хочу по имени класса), если принадлежат я их поклассово запихиваю на закладки(TPageControl). Вот моя заготовка(лучше один раз увидеть, чем 100 раз услышать). Покажите примеры как считать значения с компонентов чужой формы, и если надо изменить их.
Пример:
Допустим есть Label (выбрал для упрощения примера):
У него считываем следующие свойства: Caption, Enabled, Color, Visible, Top, Left, Height, Width и если возможно Font.
Затем по требованию пользователя требуется изменить определённые из их значений.
Вопрос в том как мне вышеизложенное осуществить, вы наверное знаете программу WinSpy. Эта прога может то, что я хочу, но мне нужно самому подобное отбилдить. Ответы можно присылать на Мыло с пометкой "Управление компонентами".

Последний раз редактировалось Alter; 04.12.2007 в 21:32.
Alter вне форума Ответить с цитированием
Старый 09.08.2007, 15:16   #2
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,230
Восклицание ВАЖНО

Вы можете помочь, как мне узнать названия Классов компонентов на чужой форме. И каким образом можно получить доступ к свойствам(значениям) компонентов. Хоть напишите где капать, или наброски(чтоб знать от чего отталкиваться).
Alter вне форума Ответить с цитированием
Старый 09.08.2007, 15:21   #3
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

rpy3uH предлагал свою разработку: тынц

Не качал, но по описанию подходит.
Alex21 вне форума Ответить с цитированием
Старый 09.08.2007, 17:10   #4
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,230
Сообщение

Цитата:
Сообщение от Alex21 Посмотреть сообщение
rpy3uH предлагал свою разработку: тынц

Не качал, но по описанию подходит.
Мне не надо сохранять изменения в чужой проге( во время её работы ), а только поменять некоторые значения. Программа хорошо нашла Caption у форму, хотя были 2 кнопки, 2 Edit, 3 Лейбла. Ничем неупаковано.
А как узнать через handle чужой проги список компонентов(чтобы как-то так получилось:
....................
For I:=0 To Frm.ComponentCount -1 Do
begin

IF (Frm.Component[I] is Tlabel) Then
begin
{Что-то делаем: Читаем/Пишем/Сохраняем}
end;
-----------------
end;
....................
(в своей программе со своей формой могу что угодно делать с контролами и значениями во время работы программы, )
,на счёт чужих прог"Чем пользуются чтобы определять их контролы?"), их названия классов (знаю что названия классов могут неиметь в начале названия буквы "Т", Например: TLabel равен Label).
Посмотрите что может стороняя прога Жмём.

Последний раз редактировалось Alter; 21.02.2008 в 20:22.
Alter вне форума Ответить с цитированием
Старый 15.08.2007, 20:32   #5
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,808
По умолчанию

для получение спи списка всех окон надо воспользоваться функцией
EnumWindows
Зная хендл главного окна для того чтобы получить список компонентов на ней надо воспользоваться функцией
EnumChildWindows
Для получения класса компонента через его хендл надо воспользоваться функцией
GetClassName
ознакомься с функциями и отпишись что не понял
rpy3uH вне форума Ответить с цитированием
Старый 31.08.2007, 22:05   #6
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,230
Сообщение

Вот собрал на скорую руку прогу, определяет не все компоненты на
чужой форме. Может что не так написано, пожалуйста посмотрите.
Если есть предложения советы для данного этапа создания пишите .

Последний раз редактировалось Alter; 21.02.2008 в 20:17.
Alter вне форума Ответить с цитированием
Старый 02.09.2007, 22:02   #7
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,230
Восклицание

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
....
ознакомься с функциями и отпишись что не понял
Я выложил набросок программы(см. Выше), вроде всё правильно.
Но посмотреть то надо. Отпишись, что думаешь по поводу кода.
Alter вне форума Ответить с цитированием
Старый 03.09.2007, 20:13   #8
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,808
По умолчанию

да нормально вроде, вот только не помешало бы поставить галочку типа "не выводить невидимые окна", а то слишком много мусора.
rpy3uH вне форума Ответить с цитированием
Старый 05.09.2007, 23:40   #9
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,230
Вопрос

Ещё вопрос в тему, "Как узнать из запущеного процесса чужой проги откуда она запущена(Исполняемый файл. Как у антивирусников)".
Alter вне форума Ответить с цитированием
Старый 06.09.2007, 00:58   #10
Tokolist
Пользователь
 
Аватар для Tokolist
 
Регистрация: 04.09.2007
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Alter Посмотреть сообщение
Ещё вопрос в тему, "Как узнать из запущеного процесса чужой проги откуда она запущена(Исполняемый файл. Как у антивирусников)".
вот довольно таки неплохая статья по этому поводу
_http://rsdn.ru/article/qna/baseserv/enumproc.xml
Tokolist вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление чужой программой через WEB. MethSpeed Безопасность, Шифрование 9 20.07.2008 14:45
Получить содержимое Memo в чужой программе. Иллидан Win Api 14 12.05.2008 14:39
открытие документа в чужой программе joker Win Api 2 22.10.2007 16:59
Управление чужой прогой MAcK Win Api 2 30.01.2007 15:02