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

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

Получение свойств COM-объектов расположенных на форме [C++ (WINAPI), Windows]


niko_ ©   (2007-07-24 17:01:00) 

Многим из Вас известна небольшая утилитка Spy++, с её помощью можно узнать свойства всех объектов (окон) отображаемых на экране.
 Есть также утилитка похожая на Spy++, называется она AccExplorer. С её помощью можно просматривать свойства тех же объектов но только рассматривая их как COM-обекты, а не окна (если это возможно конечно).
 И вот у меня появилась потребность просмотреть свойства окна как COM-объекта. Подскажите как мне этого добится.


niko_   (2007-07-25 16:30:00) [1]

Покопаю в этом направлении.

А какие ещё интерфейсы могут "сопровождать" IAccessible интерфейс.


clickmaker   (2007-07-25 16:04:00) [2]

AccessibleObjectFromWindow()


niko_   (2007-07-25 16:00:00) [3]

это всё я знаю  -  но так имени пользователя не узнать, оно там ни где не фигурирует.

А вот интерфейс IAccessible, реализующий данное окно (как Вы выше сказали) содержит такую информацию, программа AccExplorer это показала.

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


clickmaker   (2007-07-25 15:46:00) [4]

а, это...
ну в любом случае можно выяснить класс окна, потом FindWindowEx, потом WM_GETTEXT


niko_   (2007-07-25 15:21:00) [5]

Есть 2 впособы входа в систему:
1. Диологовый (то о чём говорите Вы)
2. Графический (то о чём говорю я)

Настройки -> Панель управления -> Учётные записи пользователей:

-> Изменить вход пользователей в систему
    v Использовать страницу приветствия


clickmaker   (2007-07-25 14:44:00) [6]

погоди. в окошке для входа в винду есть поле для ввода юзера. По умолчанию там - последний залогинившийся. И всё. Где остальные?


niko_   (2007-07-25 14:36:00) [7]

Сколько зарегестрировано столько и появится (я написал: допустим отображены 3 пользователя)


clickmaker   (2007-07-25 14:12:00) [8]

где "при входе в Windows в графическом режиме" отображаются целых три пользователя?


niko_   (2007-07-25 13:53:00) [9]

:) издеваетесь, да.

А просто подсказать не судьба?

Вход в систему в графическом режиме (допустим отображены 3 пользователя для входа, второй под паролем).
При нажатии на 2 пользователя появляется поле для ввода пароля. Вот в этот момент и надо узнать к какому пользователю (его имя) относится данныое поле ввода.


clickmaker   (2007-07-25 13:45:00) [10]

имя пользователя узнать? GetUserName() не подойдет?


niko_   (2007-07-25 13:32:00) [11]

Если оно появилось мне надо узнать к какому пользователю оно относится. В интересующих меня свойствах это дело проскакивает.


clickmaker   (2007-07-25 13:25:00) [12]


> [6] niko_ ©   (25.07.07 13:01)

а почему интересует именно поле для ввода пароля?


niko_   (2007-07-25 13:01:00) [13]

Я просто (как уже наверное стало очевидно) с COM'ами не очень хотошо общаюсь.

Подскажите, пожалуйста, как имея в распоряжении только хендл окна получить интересующие меня свойства (описаные выше) ???

Что то мне подсказывает, что Вы, clickmaker, можете мне помочь.


clickmaker   (2007-07-25 12:31:00) [14]

а, так ты про IAccessible
ну так это интерфейс, который реализует окно. Но само по себе оно ком-объектом не является. Это просто некая структура данных с обработчиком сообщений


niko_   (2007-07-24 22:32:00) [15]

:) вообще меня интересует поле для ввода пароля при входе в Windows в графическом режиме.

Хендл данного окна получить не сложно, но это не много не то.
Программа AccExplorer данное поле ввода видет как COM-объект со своими свойствами, разумеется пароль она не показывает :). Вот эти свойства то мне узнать и надо.


clickmaker   (2007-07-24 18:41:00) [16]


> с ним ведь как то связан COM-объект который как раз и показывает
> AccExplorer

какой например? в какой программе, на каком окне?


niko_   (2007-07-24 17:26:00) [17]

Ну этоя понимаю. Но с ним ведь как то связан COM-объект который как раз и показывает AccExplorer при наведении на то же окно. Его то свойства получить можно, так же как и эта прога. Вот как добраться до них через хендл окна?


clickmaker   (2007-07-24 17:16:00) [18]


> свойства окна как COM-объекта

окно - не COM-объект


Наверх

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