Dear All,
I want to control .NET application and I found that UIAWrappers is very userful.
But I have a problem with _UIA_getObjectByFindAll() function. Not sure if I use it correctly but _UIA_getObjectByFindAll return me wrong object. Below is source code that I use which is generated by simplespy
;~ *** Standard code ***
#include "UIAWrappers.au3"
AutoItSetOption("MustDeclareVars", 1)
Local $oP2=_UIA_getObjectByFindAll($UIA_oDesktop, "Title:=<71028030> MAYBANK KIM ENG i2Trade Plus 3.0.16.0;controltype:=UIA_WindowControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666", $treescope_children)
_UIA_Action($oP2,"setfocus")
Local $oP1=_UIA_getObjectByFindAll($oP2, "Title:=Market Watch;controltype:=UIA_WindowControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666", $treescope_children)
_UIA_Action($oP1,"setfocus")
Local $oP0=_UIA_getObjectByFindAll($oP1, "Title:=;controltype:=UIA_PaneControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666", $treescope_children)
_UIA_Action($oP0,"setfocus")
_UIA_setVar(".mainwindow","title:=;classname:=WindowsForms10.Window.8.app.0.202c666")
_UIA_action(".mainwindow","setfocus")
below is data of the target object which generated by simplespy
Mouse position is retrieved 637-484
At least we have an element [][WindowsForms10.Window.8.app.0.202c666]
Having the following values for all properties:
Title is: <> Class := <WindowsForms10.Window.8.app.0.202c666> controltype:= <UIA_PaneControlTypeId> ,<50033> , (0000C371) 425;365;577;212
*** Parent Information top down ***
3: Title is: <Desktop> Class := <#32769> controltype:= <UIA_PaneControlTypeId> ,<50033> , (0000C371) 0;0;1366;768
"Title:=Desktop;controltype:=UIA_PaneControlTypeId;class:=#32769"
2: Title is: <<71028030> MAYBANK KIM ENG i2Trade Plus 3.0.16.0> Class := <WindowsForms10.Window.8.app.0.202c666> controltype:= <UIA_WindowControlTypeId> ,<50032> , (0000C370) 416;0;800;728
"Title:=<71028030> MAYBANK KIM ENG i2Trade Plus 3.0.16.0;controltype:=UIA_WindowControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666"
1: Title is: <Market Watch> Class := <WindowsForms10.Window.8.app.0.202c666> controltype:= <UIA_WindowControlTypeId> ,<50032> , (0000C370) 425;117;577;460
"Title:=Market Watch;controltype:=UIA_WindowControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666"
0: Title is: <> Class := <WindowsForms10.Window.8.app.0.202c666> controltype:= <UIA_PaneControlTypeId> ,<50033> , (0000C371) 425;338;577;239
"Title:=;controltype:=UIA_PaneControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666"
;~ *** Standard code ***
#include "UIAWrappers.au3"
AutoItSetOption("MustDeclareVars", 1)
Local $oP2=_UIA_getObjectByFindAll($UIA_oDesktop, "Title:=<71028030> MAYBANK KIM ENG i2Trade Plus 3.0.16.0;controltype:=UIA_WindowControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666", $treescope_children)
_UIA_Action($oP2,"setfocus")
Local $oP1=_UIA_getObjectByFindAll($oP2, "Title:=Market Watch;controltype:=UIA_WindowControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666", $treescope_children)
_UIA_Action($oP1,"setfocus")
Local $oP0=_UIA_getObjectByFindAll($oP1, "Title:=;controltype:=UIA_PaneControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666", $treescope_children)
_UIA_Action($oP0,"setfocus")
_UIA_setVar(".mainwindow","title:=;classname:=WindowsForms10.Window.8.app.0.202c666")
_UIA_action(".mainwindow","setfocus")
*** Detailed properties of the highlighted element ***
UIA_class:= <WindowsForms10.Window.8.app.0.202c666>
UIA_regexpclass:= <WindowsForms10.Window.8.app.0.202c666>
UIA_iaccessiblechildId:= <0>
UIA_id:= <intzaBBO>
UIA_handle:= <331012>
UIA_RuntimeId:= <42;331012>
UIA_BoundingRectangle:= <425;365;577;212>
UIA_ProcessId:= <25032>
UIA_ControlType:= <50033>
UIA_LocalizedControlType:= <pane>
UIA_HasKeyboardFocus:= <False>
UIA_IsKeyboardFocusable:= <True>
UIA_IsEnabled:= <True>
UIA_AutomationId:= <intzaBBO>
UIA_ClassName:= <WindowsForms10.Window.8.app.0.202c666>
UIA_Culture:= <0>
UIA_IsControlElement:= <True>
UIA_IsContentElement:= <True>
UIA_IsPassword:= <False>
UIA_NativeWindowHandle:= <331012>
UIA_IsOffscreen:= <False>
UIA_Orientation:= <0>
UIA_FrameworkId:= <WinForm>
UIA_IsRequiredForForm:= <False>
UIA_IsDockPatternAvailable:= <False>
UIA_IsExpandCollapsePatternAvailable:= <False>
UIA_IsGridItemPatternAvailable:= <False>
UIA_IsGridPatternAvailable:= <False>
UIA_IsInvokePatternAvailable:= <False>
UIA_IsMultipleViewPatternAvailable:= <False>
UIA_IsRangeValuePatternAvailable:= <False>
UIA_IsScrollPatternAvailable:= <False>
UIA_IsScrollItemPatternAvailable:= <False>
UIA_IsSelectionItemPatternAvailable:= <False>
UIA_IsSelectionPatternAvailable:= <False>
UIA_IsTablePatternAvailable:= <False>
UIA_IsTableItemPatternAvailable:= <False>
UIA_IsTextPatternAvailable:= <False>
UIA_IsTogglePatternAvailable:= <False>
UIA_IsTransformPatternAvailable:= <False>
UIA_IsValuePatternAvailable:= <False>
UIA_IsWindowPatternAvailable:= <False>
UIA_ValueIsReadOnly:= <True>
UIA_RangeValueValue:= <0>
UIA_RangeValueIsReadOnly:= <True>
UIA_RangeValueMinimum:= <0>
UIA_RangeValueMaximum:= <0>
UIA_RangeValueLargeChange:= <0>
UIA_RangeValueSmallChange:= <0>
UIA_ScrollHorizontalScrollPercent:= <0>
UIA_ScrollHorizontalViewSize:= <100>
UIA_ScrollVerticalScrollPercent:= <0>
UIA_ScrollVerticalViewSize:= <100>
UIA_ScrollHorizontallyScrollable:= <False>
UIA_ScrollVerticallyScrollable:= <False>
UIA_SelectionCanSelectMultiple:= <False>
UIA_SelectionIsSelectionRequired:= <False>
UIA_GridRowCount:= <0>
UIA_GridColumnCount:= <0>
UIA_GridItemRow:= <0>
UIA_GridItemColumn:= <0>
UIA_GridItemRowSpan:= <1>
UIA_GridItemColumnSpan:= <1>
UIA_DockDockPosition:= <5>
UIA_ExpandCollapseExpandCollapseState:= <3>
UIA_MultipleViewCurrentView:= <0>
UIA_WindowCanMaximize:= <False>
UIA_WindowCanMinimize:= <False>
UIA_WindowWindowVisualState:= <0>
UIA_WindowWindowInteractionState:= <0>
UIA_WindowIsModal:= <False>
UIA_WindowIsTopmost:= <False>
UIA_SelectionItemIsSelected:= <False>
UIA_TableRowOrColumnMajor:= <2>
UIA_ToggleToggleState:= <2>
UIA_TransformCanMove:= <False>
UIA_TransformCanResize:= <False>
UIA_TransformCanRotate:= <False>
UIA_IsLegacyIAccessiblePatternAvailable:= <True>
UIA_LegacyIAccessibleChildId:= <0>
UIA_LegacyIAccessibleRole:= <10>
UIA_LegacyIAccessibleState:= <1048576>
UIA_IsDataValidForForm:= <False>
UIA_ProviderDescription:= <[pid:10116,hwnd:0x50D04 Main:Nested [pid:25032,hwnd:0x50D04 Main(parent link):Microsoft: MSAA Proxy (unmanaged:uiautomationcore.dll)]; Hwnd(parent link):Microsoft: HWND Proxy (unmanaged:uiautomationcore.dll)]>
UIA_IsItemContainerPatternAvailable:= <False>
UIA_IsVirtualizedItemPatternAvailable:= <False>
UIA_IsSynchronizedInputPatternAvailable:= <False>
The object retruned by the function(wrong one)
Mouse position is retrieved 831-344
At least we have an element [Loading ...][WindowsForms10.Window.8.app.0.202c666]
Having the following values for all properties:
Title is: <Loading ...> Class := <WindowsForms10.Window.8.app.0.202c666> controltype:= <UIA_PaneControlTypeId> ,<50033> , (0000C371) 742;305;207;60
*** Parent Information top down ***
2: Title is: <Desktop> Class := <#32769> controltype:= <UIA_PaneControlTypeId> ,<50033> , (0000C371) 0;0;1366;768
"Title:=Desktop;controltype:=UIA_PaneControlTypeId;class:=#32769"
1: Title is: <<71028030> MAYBANK KIM ENG i2Trade Plus 3.0.16.0> Class := <WindowsForms10.Window.8.app.0.202c666> controltype:= <UIA_WindowControlTypeId> ,<50032> , (0000C370) 733;28;800;603
"Title:=<71028030> MAYBANK KIM ENG i2Trade Plus 3.0.16.0;controltype:=UIA_WindowControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666"
0: Title is: <Market Watch> Class := <WindowsForms10.Window.8.app.0.202c666> controltype:= <UIA_WindowControlTypeId> ,<50032> , (0000C370) 742;145;577;412
"Title:=Market Watch;controltype:=UIA_WindowControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666"
;~ *** Standard code ***
#include "UIAWrappers.au3"
AutoItSetOption("MustDeclareVars", 1)
Local $oP1=_UIA_getObjectByFindAll($UIA_oDesktop, "Title:=<71028030> MAYBANK KIM ENG i2Trade Plus 3.0.16.0;controltype:=UIA_WindowControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666", $treescope_children)
_UIA_Action($oP1,"setfocus")
Local $oP0=_UIA_getObjectByFindAll($oP1, "Title:=Market Watch;controltype:=UIA_WindowControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666", $treescope_children)
_UIA_Action($oP0,"setfocus")
_UIA_setVar("Loading....mainwindow","title:=Loading ...;classname:=WindowsForms10.Window.8.app.0.202c666")
_UIA_action("Loading....mainwindow","setfocus")
*** Detailed properties of the highlighted element ***
UIA_title:= <Loading ...>
UIA_text:= <Loading ...>
UIA_regexptitle:= <Loading ...>
UIA_class:= <WindowsForms10.Window.8.app.0.202c666>
UIA_regexpclass:= <WindowsForms10.Window.8.app.0.202c666>
UIA_iaccessiblechildId:= <0>
UIA_id:= <intzaVolumeByBoard>
UIA_handle:= <200042>
UIA_RuntimeId:= <42;200042>
UIA_BoundingRectangle:= <742;305;207;60>
UIA_ProcessId:= <25032>
UIA_ControlType:= <50033>
UIA_LocalizedControlType:= <pane>
UIA_Name:= <Loading ...>
UIA_HasKeyboardFocus:= <True>
UIA_IsKeyboardFocusable:= <True>
UIA_IsEnabled:= <True>
UIA_AutomationId:= <intzaVolumeByBoard>
UIA_ClassName:= <WindowsForms10.Window.8.app.0.202c666>
UIA_Culture:= <0>
UIA_IsControlElement:= <True>
UIA_IsContentElement:= <True>
UIA_IsPassword:= <False>
UIA_NativeWindowHandle:= <200042>
UIA_IsOffscreen:= <False>
UIA_Orientation:= <0>
UIA_FrameworkId:= <WinForm>
UIA_IsRequiredForForm:= <False>
UIA_IsDockPatternAvailable:= <False>
UIA_IsExpandCollapsePatternAvailable:= <False>
UIA_IsGridItemPatternAvailable:= <False>
UIA_IsGridPatternAvailable:= <False>
UIA_IsInvokePatternAvailable:= <False>
UIA_IsMultipleViewPatternAvailable:= <False>
UIA_IsRangeValuePatternAvailable:= <False>
UIA_IsScrollPatternAvailable:= <False>
UIA_IsScrollItemPatternAvailable:= <False>
UIA_IsSelectionItemPatternAvailable:= <False>
UIA_IsSelectionPatternAvailable:= <False>
UIA_IsTablePatternAvailable:= <False>
UIA_IsTableItemPatternAvailable:= <False>
UIA_IsTextPatternAvailable:= <False>
UIA_IsTogglePatternAvailable:= <False>
UIA_IsTransformPatternAvailable:= <False>
UIA_IsValuePatternAvailable:= <False>
UIA_IsWindowPatternAvailable:= <False>
UIA_ValueIsReadOnly:= <True>
UIA_RangeValueValue:= <0>
UIA_RangeValueIsReadOnly:= <True>
UIA_RangeValueMinimum:= <0>
UIA_RangeValueMaximum:= <0>
UIA_RangeValueLargeChange:= <0>
UIA_RangeValueSmallChange:= <0>
UIA_ScrollHorizontalScrollPercent:= <0>
UIA_ScrollHorizontalViewSize:= <100>
UIA_ScrollVerticalScrollPercent:= <0>
UIA_ScrollVerticalViewSize:= <100>
UIA_ScrollHorizontallyScrollable:= <False>
UIA_ScrollVerticallyScrollable:= <False>
UIA_SelectionCanSelectMultiple:= <False>
UIA_SelectionIsSelectionRequired:= <False>
UIA_GridRowCount:= <0>
UIA_GridColumnCount:= <0>
UIA_GridItemRow:= <0>
UIA_GridItemColumn:= <0>
UIA_GridItemRowSpan:= <1>
UIA_GridItemColumnSpan:= <1>
UIA_DockDockPosition:= <5>
UIA_ExpandCollapseExpandCollapseState:= <3>
UIA_MultipleViewCurrentView:= <0>
UIA_WindowCanMaximize:= <False>
UIA_WindowCanMinimize:= <False>
UIA_WindowWindowVisualState:= <0>
UIA_WindowWindowInteractionState:= <0>
UIA_WindowIsModal:= <False>
UIA_WindowIsTopmost:= <False>
UIA_SelectionItemIsSelected:= <False>
UIA_TableRowOrColumnMajor:= <2>
UIA_ToggleToggleState:= <2>
UIA_TransformCanMove:= <False>
UIA_TransformCanResize:= <False>
UIA_TransformCanRotate:= <False>
UIA_IsLegacyIAccessiblePatternAvailable:= <True>
UIA_LegacyIAccessibleChildId:= <0>
UIA_LegacyIAccessibleName:= <Loading ...>
UIA_LegacyIAccessibleRole:= <10>
UIA_LegacyIAccessibleState:= <1048580>
UIA_IsDataValidForForm:= <False>
UIA_ProviderDescription:= <[pid:12728,hwnd:0x30D6A Main:Nested [pid:25032,hwnd:0x30D6A Main(parent link):Microsoft: MSAA Proxy (unmanaged:uiautomationcore.dll)]; Hwnd(parent link):Microsoft: HWND Proxy (unmanaged:uiautomationcore.dll)]>
UIA_IsItemContainerPatternAvailable:= <False>
UIA_IsVirtualizedItemPatternAvailable:= <False>
UIA_IsSynchronizedInputPatternAvailable:= <False>
Notice that Title, controltype, class are the same but id is different. So I change the code to
Local $oP0=_UIA_getObjectByFindAll($oP1, "Title:=;controltype:=UIA_PaneControlTypeId;class:=WindowsForms10.Window.8.app.0.202c666;id:=intzaBBO", $treescope_children)
But no luck. Can someone point me the correct way?
Thanks,
PS