![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение свойств 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-объект