Что нового

UIAutomate - автоматизация нестандартных элементов GUI

joker85

Новичок
Сообщения
9
Репутация
0
Да, ошибки. Первая: ошибка создания объекта массива. Обычно такое случается при большом количестве элементов. Попробуйте сначала найти панель, в которой находится этот Edit. Потом используйте эту панель в качестве родителя для поиска Edit.
Вы про это говорите?
Код:
[I][B]ControlType:    UIA_EditControlTypeId (0xC354)[/B][/I]
 
Автор
I

InnI

AutoIT Гуру
Сообщения
4,958
Репутация
1,448
Это тип элемента "Фамилия" значение которого нужно получить.
 

joker85

Новичок
Сообщения
9
Репутация
0
Это тип элемента "Фамилия" значение которого нужно получить.
нету панелей

Вот что выдает сам AutoIt Window Info (x64)

Код:
>>>> Window <<<<
Title:    Менеджер приложений | Microsoft SQL Server | Administrator A.A. (snadmin)
Class:    WindowsForms10.Window.8.app.0.1569a64_r6_ad1
Position:    -8, -8
Size:    1936, 1056
Style:    0x17CF0000
ExStyle:    0x00050100
Handle:    0x00000000004C0720

>>>> Control <<<<
Class:    WindowsForms10.Window.8.app.0.1569a64_r6_ad1
Instance:    35
ClassnameNN:    WindowsForms10.Window.8.app.0.1569a64_r6_ad135
Name:    
Advanced (Class):    [CLASS:WindowsForms10.Window.8.app.0.1569a64_r6_ad1; INSTANCE:35]
ID:    1120166
Text:    PropertyGridView
Position:    103, 642
Size:    1434, 344
ControlClick Coords:    310, 74
Style:    0x56010000
ExStyle:    0x00000000
Handle:    0x00000000001117A6

>>>> Mouse <<<<
Position:    413, 739
Cursor ID:    0
Color:    0xFFFFB6

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<
Приложения
Пропуска сотрудников
Пропуска сотрудников
Все поля
PropertyGrid
PropertyGridView
toolStrip


>>>> Hidden Text <<<<
АБРЄЄВА
Все поля
PropertyGrid
PropertyGridView
Capture
toolStrip
 
Автор
I

InnI

AutoIT Гуру
Сообщения
4,958
Репутация
1,448
Панели нужно искать в дереве Inspect.

выдает сам AutoIt Window Info (x64)
Если у контрола не меняются Class и Instance, то попробуйте так
Код:
#include <UIAutomate.au3>

$hWnd = ControlGetHandle("Менеджер приложений", "", "WindowsForms10.Window.8.app.0.1569a64_r6_ad135")
$oParent = _UIA_GetElementFromHandle($hWnd)
$oElem = _UIA_GetControlTypeElement($oParent, "UIA_EditControlTypeId", "Фамилия", "LegacyIAccessible.Name")
$sVal1 = _UIA_ElementGetPropertyValue($oElem, "Value.Value")
ConsoleWrite($sVal1 & @CRLF)
$sVal2 = _UIA_ElementGetPropertyValue($oElem, "LegacyIAccessible.Value")
ConsoleWrite($sVal2 & @CRLF)
 

joker85

Новичок
Сообщения
9
Репутация
0
// Всё равно выдаёт 0, честно, я да же не понимаю как к Панеля обращаться. Смотрите скрин. Панель "Фамилия"?
 

Вложения

  • 0000000000000000.png
    0000000000000000.png
    284.1 КБ · Просмотры: 5
Автор
I

InnI

AutoIT Гуру
Сообщения
4,958
Репутация
1,448
Есть элемент "Окно свойств" таблицу, который является родителем для множества других элементов какого-то типа. Среди этих других элементов есть "Фамилия". В то же время, в списке присутствует элемент "Фамилия" поле, но отсутствуют другие идентичные ("Имя" поле, "Отчество" поле и т.д.). Можно сделать вывод, что элементы "..." поле создаются либо при клике по ним, либо при наведении курсора мыши во время поиска утилитой. Следовательно, прямым поиском по дереву эти "поля" найти не получится.

Попробуйте следующее. Запустите Inspect и раскрывайте дерево главного окна, кликая по "плюсикам", чтобы получился "прямой путь" до элемента "Окно свойств" таблицу. Теперь раскройте этот элемент. Будет ли в перечне элемент "Фамилия" поле? Скорее всего - нет. Теперь раскройте элемент "Фамилия". Будет ли он содержать дочерние? Скорее всего - нет.
 

joker85

Новичок
Сообщения
9
Репутация
0
Есть элемент "Окно свойств" таблицу, который является родителем для множества других элементов какого-то типа. Среди этих других элементов есть "Фамилия". В то же время, в списке присутствует элемент "Фамилия" поле, но отсутствуют другие идентичные ("Имя" поле, "Отчество" поле и т.д.). Можно сделать вывод, что элементы "..." поле создаются либо при клике по ним, либо при наведении курсора мыши во время поиска утилитой. Следовательно, прямым поиском по дереву эти "поля" найти не получится.

Попробуйте следующее. Запустите Inspect и раскрывайте дерево главного окна, кликая по "плюсикам", чтобы получился "прямой путь" до элемента "Окно свойств" таблицу. Теперь раскройте этот элемент. Будет ли в перечне элемент "Фамилия" поле? Скорее всего - нет. Теперь раскройте элемент "Фамилия". Будет ли он содержать дочерние? Скорее всего - нет.
Вы правы
поле создаются либо при клике по ним, либо при наведении курсора мыши во время поиска утилитой
 
Верх