Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.09.08;
Скачать: CL | DM;

Вниз

Получение свойств COM-объектов расположенных на форме   Найти похожие ветки 

 
niko_ ©   (2007-07-24 17:01) [0]

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


 
clickmaker ©   (2007-07-24 17:16) [1]


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

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


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

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


 
clickmaker ©   (2007-07-24 18:41) [3]


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

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


 
niko_ ©   (2007-07-24 22:32) [4]

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

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


 
clickmaker ©   (2007-07-25 12:31) [5]

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


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

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

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

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


 
clickmaker ©   (2007-07-25 13:25) [7]


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

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


 
niko_ ©   (2007-07-25 13:32) [8]

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


 
clickmaker ©   (2007-07-25 13:45) [9]

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


 
niko_ ©   (2007-07-25 13:53) [10]

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

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

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


 
clickmaker ©   (2007-07-25 14:12) [11]

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


 
niko_ ©   (2007-07-25 14:36) [12]

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


 
clickmaker ©   (2007-07-25 14:44) [13]

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


 
niko_ ©   (2007-07-25 15:21) [14]

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

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

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


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

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


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

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

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

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


 
clickmaker ©   (2007-07-25 16:04) [17]

AccessibleObjectFromWindow()


 
niko_ ©   (2007-07-25 16:30) [18]

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

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



Страницы: 1 вся ветка

Текущий архив: 2013.09.08;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.006 c
2-1356116402
Гест
2012-12-21 23:00
2013.09.08
Как сделать исчезающее Popup меню


2-1356533751
Vlad
2012-12-26 18:55
2013.09.08
Быстрый алгоритм поиска


15-1364675403
Юрий
2013-03-31 00:30
2013.09.08
С днем рождения ! 31 марта 2013 воскресенье


10-1185282081
niko_
2007-07-24 17:01
2013.09.08
Получение свойств COM-объектов расположенных на форме


15-1364654871
TUser
2013-03-30 18:47
2013.09.08
Умер Леонид Мацих