rautomation 2.0.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.gitignore +41 -0
  4. data/.rspec +2 -0
  5. data/.yardopts +8 -0
  6. data/CHANGES.md +276 -0
  7. data/Gemfile +3 -0
  8. data/LICENSE +20 -0
  9. data/README.md +142 -0
  10. data/Rakefile +73 -0
  11. data/ext/AutoItX/AutoItX.chm +0 -0
  12. data/ext/AutoItX/AutoItX3.dll +0 -0
  13. data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.cpp +30 -0
  14. data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.vcxproj +179 -0
  15. data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.vcxproj.filters +42 -0
  16. data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.vcxproj.user +3 -0
  17. data/ext/IAccessibleDLL/IAccessibleDLL/ReadMe.txt +48 -0
  18. data/ext/IAccessibleDLL/IAccessibleDLL/dllmain.cpp +19 -0
  19. data/ext/IAccessibleDLL/IAccessibleDLL/stdafx.cpp +8 -0
  20. data/ext/IAccessibleDLL/IAccessibleDLL/stdafx.h +22 -0
  21. data/ext/IAccessibleDLL/IAccessibleDLL/table_support.cpp +282 -0
  22. data/ext/IAccessibleDLL/IAccessibleDLL/targetver.h +8 -0
  23. data/ext/IAccessibleDLL/IAccessibleDLL.sln +31 -0
  24. data/ext/IAccessibleDLL/IAccessibleDLL.suo +0 -0
  25. data/ext/IAccessibleDLL/Release/IAccessibleDLL.dll +0 -0
  26. data/ext/UiaDll/RAutomation.UIA/Controls/Clicker.cs +63 -0
  27. data/ext/UiaDll/RAutomation.UIA/Controls/SelectList.cs +116 -0
  28. data/ext/UiaDll/RAutomation.UIA/Controls/Spinner.cs +46 -0
  29. data/ext/UiaDll/RAutomation.UIA/Controls/TabControl.cs +54 -0
  30. data/ext/UiaDll/RAutomation.UIA/Controls/TableControl.cs +132 -0
  31. data/ext/UiaDll/RAutomation.UIA/Controls/TextControl.cs +50 -0
  32. data/ext/UiaDll/RAutomation.UIA/Expander.cs +59 -0
  33. data/ext/UiaDll/RAutomation.UIA/Extensions/Element.cs +166 -0
  34. data/ext/UiaDll/RAutomation.UIA/Extensions/Enumerable.cs +76 -0
  35. data/ext/UiaDll/RAutomation.UIA/Extensions/Property.cs +27 -0
  36. data/ext/UiaDll/RAutomation.UIA/Properties/AssemblyInfo.cs +36 -0
  37. data/ext/UiaDll/RAutomation.UIA/Properties/AutomationProperties.cs +18 -0
  38. data/ext/UiaDll/RAutomation.UIA/RAutomation.UIA.csproj +77 -0
  39. data/ext/UiaDll/Release/RAutomation.UIA.dll +0 -0
  40. data/ext/UiaDll/Release/UiaDll.dll +0 -0
  41. data/ext/UiaDll/UiaDll/ArrayHelper.cpp +14 -0
  42. data/ext/UiaDll/UiaDll/ArrayHelper.h +7 -0
  43. data/ext/UiaDll/UiaDll/AssemblyInfo.cpp +40 -0
  44. data/ext/UiaDll/UiaDll/ControlMethods.cpp +16 -0
  45. data/ext/UiaDll/UiaDll/DynamicAssemblyResolver.cpp +24 -0
  46. data/ext/UiaDll/UiaDll/DynamicAssemblyResolver.h +16 -0
  47. data/ext/UiaDll/UiaDll/Locator.cpp +93 -0
  48. data/ext/UiaDll/UiaDll/Locator.h +55 -0
  49. data/ext/UiaDll/UiaDll/MenuItemSelector.cpp +75 -0
  50. data/ext/UiaDll/UiaDll/MenuItemSelector.h +24 -0
  51. data/ext/UiaDll/UiaDll/MenuMethods.cpp +62 -0
  52. data/ext/UiaDll/UiaDll/ReadMe.txt +38 -0
  53. data/ext/UiaDll/UiaDll/SelectListMethods.cpp +84 -0
  54. data/ext/UiaDll/UiaDll/SpinnerMethods.cpp +61 -0
  55. data/ext/UiaDll/UiaDll/StringHelper.cpp +57 -0
  56. data/ext/UiaDll/UiaDll/StringHelper.h +15 -0
  57. data/ext/UiaDll/UiaDll/StringMethods.cpp +8 -0
  58. data/ext/UiaDll/UiaDll/TabControlMethods.cpp +40 -0
  59. data/ext/UiaDll/UiaDll/TableMethods.cpp +108 -0
  60. data/ext/UiaDll/UiaDll/TextMethods.cpp +25 -0
  61. data/ext/UiaDll/UiaDll/ToggleStateHelper.h +10 -0
  62. data/ext/UiaDll/UiaDll/UiaDll.cpp +216 -0
  63. data/ext/UiaDll/UiaDll/UiaDll.h +13 -0
  64. data/ext/UiaDll/UiaDll/UiaDll.vcxproj +167 -0
  65. data/ext/UiaDll/UiaDll/UiaDll.vcxproj.filters +110 -0
  66. data/ext/UiaDll/UiaDll/app.ico +0 -0
  67. data/ext/UiaDll/UiaDll/app.rc +0 -0
  68. data/ext/UiaDll/UiaDll/dllmain.cpp +1 -0
  69. data/ext/UiaDll/UiaDll/resource.h +3 -0
  70. data/ext/UiaDll/UiaDll/stdafx.cpp +5 -0
  71. data/ext/UiaDll/UiaDll/stdafx.h +41 -0
  72. data/ext/UiaDll/UiaDll/targetver.h +8 -0
  73. data/ext/UiaDll/UiaDll.sln +57 -0
  74. data/ext/WindowsForms/.nuget/NuGet.Config +6 -0
  75. data/ext/WindowsForms/.nuget/NuGet.exe +0 -0
  76. data/ext/WindowsForms/.nuget/NuGet.targets +136 -0
  77. data/ext/WindowsForms/Release/FizzWare.NBuilder.dll +0 -0
  78. data/ext/WindowsForms/Release/UIA.Extensions.dll +0 -0
  79. data/ext/WindowsForms/Release/WindowsForms.exe +0 -0
  80. data/ext/WindowsForms/WindowsForms/AboutBox.Designer.cs +168 -0
  81. data/ext/WindowsForms/WindowsForms/AboutBox.cs +103 -0
  82. data/ext/WindowsForms/WindowsForms/AboutBox.resx +123 -0
  83. data/ext/WindowsForms/WindowsForms/DataEntryForm.Designer.cs +218 -0
  84. data/ext/WindowsForms/WindowsForms/DataEntryForm.cs +52 -0
  85. data/ext/WindowsForms/WindowsForms/DataEntryForm.resx +120 -0
  86. data/ext/WindowsForms/WindowsForms/DataGridView.Designer.cs +77 -0
  87. data/ext/WindowsForms/WindowsForms/DataGridView.cs +43 -0
  88. data/ext/WindowsForms/WindowsForms/DataGridView.resx +120 -0
  89. data/ext/WindowsForms/WindowsForms/FizzWare.NBuilder.dll +0 -0
  90. data/ext/WindowsForms/WindowsForms/MainFormWindow.Designer.cs +527 -0
  91. data/ext/WindowsForms/WindowsForms/MainFormWindow.cs +109 -0
  92. data/ext/WindowsForms/WindowsForms/MainFormWindow.resx +126 -0
  93. data/ext/WindowsForms/WindowsForms/PersonForm.Designer.cs +119 -0
  94. data/ext/WindowsForms/WindowsForms/PersonForm.cs +34 -0
  95. data/ext/WindowsForms/WindowsForms/PersonForm.resx +120 -0
  96. data/ext/WindowsForms/WindowsForms/Program.cs +21 -0
  97. data/ext/WindowsForms/WindowsForms/Properties/AssemblyInfo.cs +36 -0
  98. data/ext/WindowsForms/WindowsForms/Properties/Resources.Designer.cs +71 -0
  99. data/ext/WindowsForms/WindowsForms/Properties/Resources.resx +117 -0
  100. data/ext/WindowsForms/WindowsForms/Properties/Settings.Designer.cs +30 -0
  101. data/ext/WindowsForms/WindowsForms/Properties/Settings.settings +7 -0
  102. data/ext/WindowsForms/WindowsForms/SimpleElementsForm.Designer.cs +93 -0
  103. data/ext/WindowsForms/WindowsForms/SimpleElementsForm.cs +19 -0
  104. data/ext/WindowsForms/WindowsForms/SimpleElementsForm.resx +120 -0
  105. data/ext/WindowsForms/WindowsForms/UIA.Extensions.dll +0 -0
  106. data/ext/WindowsForms/WindowsForms/ValueMonthCalendar.cs +28 -0
  107. data/ext/WindowsForms/WindowsForms/WindowsForms.csproj +166 -0
  108. data/ext/WindowsForms/WindowsForms/packages.config +4 -0
  109. data/ext/WindowsForms/WindowsForms.sln +46 -0
  110. data/lib/rautomation/adapter/autoit/button.rb +59 -0
  111. data/lib/rautomation/adapter/autoit/locators.rb +22 -0
  112. data/lib/rautomation/adapter/autoit/mouse.rb +38 -0
  113. data/lib/rautomation/adapter/autoit/text_field.rb +70 -0
  114. data/lib/rautomation/adapter/autoit/window.rb +197 -0
  115. data/lib/rautomation/adapter/autoit.rb +8 -0
  116. data/lib/rautomation/adapter/helper.rb +64 -0
  117. data/lib/rautomation/adapter/ms_uia/button.rb +21 -0
  118. data/lib/rautomation/adapter/ms_uia/button_helper.rb +19 -0
  119. data/lib/rautomation/adapter/ms_uia/checkbox.rb +23 -0
  120. data/lib/rautomation/adapter/ms_uia/constants.rb +111 -0
  121. data/lib/rautomation/adapter/ms_uia/control.rb +134 -0
  122. data/lib/rautomation/adapter/ms_uia/functions.rb +279 -0
  123. data/lib/rautomation/adapter/ms_uia/keys.rb +121 -0
  124. data/lib/rautomation/adapter/ms_uia/keystroke_converter.rb +122 -0
  125. data/lib/rautomation/adapter/ms_uia/label.rb +18 -0
  126. data/lib/rautomation/adapter/ms_uia/list_box.rb +46 -0
  127. data/lib/rautomation/adapter/ms_uia/list_item.rb +22 -0
  128. data/lib/rautomation/adapter/ms_uia/locators.rb +23 -0
  129. data/lib/rautomation/adapter/ms_uia/menu.rb +36 -0
  130. data/lib/rautomation/adapter/ms_uia/radio.rb +23 -0
  131. data/lib/rautomation/adapter/ms_uia/select_list.rb +85 -0
  132. data/lib/rautomation/adapter/ms_uia/spinner.rb +31 -0
  133. data/lib/rautomation/adapter/ms_uia/tab_control.rb +46 -0
  134. data/lib/rautomation/adapter/ms_uia/table.rb +140 -0
  135. data/lib/rautomation/adapter/ms_uia/text_field.rb +39 -0
  136. data/lib/rautomation/adapter/ms_uia/uia_dll.rb +428 -0
  137. data/lib/rautomation/adapter/ms_uia/value_control.rb +21 -0
  138. data/lib/rautomation/adapter/ms_uia/window.rb +289 -0
  139. data/lib/rautomation/adapter/ms_uia.rb +27 -0
  140. data/lib/rautomation/adapter/win_32/button.rb +14 -0
  141. data/lib/rautomation/adapter/win_32/button_helper.rb +24 -0
  142. data/lib/rautomation/adapter/win_32/checkbox.rb +14 -0
  143. data/lib/rautomation/adapter/win_32/constants.rb +73 -0
  144. data/lib/rautomation/adapter/win_32/control.rb +86 -0
  145. data/lib/rautomation/adapter/win_32/functions.rb +336 -0
  146. data/lib/rautomation/adapter/win_32/keys.rb +146 -0
  147. data/lib/rautomation/adapter/win_32/label.rb +10 -0
  148. data/lib/rautomation/adapter/win_32/list_box.rb +40 -0
  149. data/lib/rautomation/adapter/win_32/locators.rb +22 -0
  150. data/lib/rautomation/adapter/win_32/mouse.rb +59 -0
  151. data/lib/rautomation/adapter/win_32/password_field.rb +15 -0
  152. data/lib/rautomation/adapter/win_32/radio.rb +11 -0
  153. data/lib/rautomation/adapter/win_32/select_list.rb +97 -0
  154. data/lib/rautomation/adapter/win_32/table.rb +25 -0
  155. data/lib/rautomation/adapter/win_32/text_field.rb +52 -0
  156. data/lib/rautomation/adapter/win_32/window.rb +277 -0
  157. data/lib/rautomation/adapter/win_32.rb +23 -0
  158. data/lib/rautomation/button.rb +55 -0
  159. data/lib/rautomation/element_collections.rb +55 -0
  160. data/lib/rautomation/platform.rb +15 -0
  161. data/lib/rautomation/text_field.rb +60 -0
  162. data/lib/rautomation/version.rb +3 -0
  163. data/lib/rautomation/wait_helper.rb +23 -0
  164. data/lib/rautomation/window.rb +248 -0
  165. data/lib/rautomation.rb +8 -0
  166. data/rautomation.gemspec +52 -0
  167. data/spec/adapter/autoit/mouse_spec.rb +53 -0
  168. data/spec/adapter/autoit/window_spec.rb +17 -0
  169. data/spec/adapter/ms_uia/button_spec.rb +39 -0
  170. data/spec/adapter/ms_uia/checkbox_spec.rb +55 -0
  171. data/spec/adapter/ms_uia/control_spec.rb +88 -0
  172. data/spec/adapter/ms_uia/functions_spec.rb +39 -0
  173. data/spec/adapter/ms_uia/keystroke_converter_spec.rb +48 -0
  174. data/spec/adapter/ms_uia/label_spec.rb +18 -0
  175. data/spec/adapter/ms_uia/list_item_spec.rb +14 -0
  176. data/spec/adapter/ms_uia/listbox_spec.rb +73 -0
  177. data/spec/adapter/ms_uia/radio_spec.rb +39 -0
  178. data/spec/adapter/ms_uia/select_list_spec.rb +118 -0
  179. data/spec/adapter/ms_uia/spinner_spec.rb +44 -0
  180. data/spec/adapter/ms_uia/tab_control_spec.rb +53 -0
  181. data/spec/adapter/ms_uia/table_spec.rb +197 -0
  182. data/spec/adapter/ms_uia/text_field_spec.rb +43 -0
  183. data/spec/adapter/ms_uia/value_control_spec.rb +11 -0
  184. data/spec/adapter/ms_uia/window_spec.rb +81 -0
  185. data/spec/adapter/win_32/button_spec.rb +31 -0
  186. data/spec/adapter/win_32/checkbox_spec.rb +46 -0
  187. data/spec/adapter/win_32/label_spec.rb +13 -0
  188. data/spec/adapter/win_32/listbox_spec.rb +41 -0
  189. data/spec/adapter/win_32/mouse_spec.rb +49 -0
  190. data/spec/adapter/win_32/radio_spec.rb +33 -0
  191. data/spec/adapter/win_32/select_list_spec.rb +65 -0
  192. data/spec/adapter/win_32/table_spec.rb +27 -0
  193. data/spec/adapter/win_32/text_field_spec.rb +24 -0
  194. data/spec/adapter/win_32/window_spec.rb +61 -0
  195. data/spec/button_spec.rb +67 -0
  196. data/spec/buttons_spec.rb +21 -0
  197. data/spec/spec_helper.rb +128 -0
  198. data/spec/text_field_spec.rb +64 -0
  199. data/spec/text_fields_spec.rb +22 -0
  200. data/spec/window_spec.rb +150 -0
  201. data/spec/windows_spec.rb +76 -0
  202. metadata +369 -0
@@ -0,0 +1,167 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <ItemGroup Label="ProjectConfigurations">
4
+ <ProjectConfiguration Include="Debug|Win32">
5
+ <Configuration>Debug</Configuration>
6
+ <Platform>Win32</Platform>
7
+ </ProjectConfiguration>
8
+ <ProjectConfiguration Include="Debug|x64">
9
+ <Configuration>Debug</Configuration>
10
+ <Platform>x64</Platform>
11
+ </ProjectConfiguration>
12
+ <ProjectConfiguration Include="Release|Win32">
13
+ <Configuration>Release</Configuration>
14
+ <Platform>Win32</Platform>
15
+ </ProjectConfiguration>
16
+ <ProjectConfiguration Include="Release|x64">
17
+ <Configuration>Release</Configuration>
18
+ <Platform>x64</Platform>
19
+ </ProjectConfiguration>
20
+ </ItemGroup>
21
+ <PropertyGroup Label="Globals">
22
+ <ProjectGuid>{4A06195F-8D10-4384-97C3-86D512C40DE4}</ProjectGuid>
23
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
24
+ <Keyword>ManagedCProj</Keyword>
25
+ <RootNamespace>UiaDll</RootNamespace>
26
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
27
+ </PropertyGroup>
28
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
29
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
30
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
31
+ <UseDebugLibraries>true</UseDebugLibraries>
32
+ <CLRSupport>true</CLRSupport>
33
+ <CharacterSet>Unicode</CharacterSet>
34
+ <PlatformToolset>v143</PlatformToolset>
35
+ </PropertyGroup>
36
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
37
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
38
+ <UseDebugLibraries>false</UseDebugLibraries>
39
+ <CLRSupport>true</CLRSupport>
40
+ <CharacterSet>Unicode</CharacterSet>
41
+ <PlatformToolset>v141</PlatformToolset>
42
+ </PropertyGroup>
43
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
44
+ <PlatformToolset>v143</PlatformToolset>
45
+ </PropertyGroup>
46
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
47
+ <PlatformToolset>v143</PlatformToolset>
48
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
49
+ <CharacterSet>Unicode</CharacterSet>
50
+ <CLRSupport>true</CLRSupport>
51
+ </PropertyGroup>
52
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
53
+ <PlatformToolset>v143</PlatformToolset>
54
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
55
+ <CharacterSet>Unicode</CharacterSet>
56
+ <CLRSupport>true</CLRSupport>
57
+ </PropertyGroup>
58
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
59
+ <ImportGroup Label="ExtensionSettings">
60
+ </ImportGroup>
61
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
62
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
63
+ </ImportGroup>
64
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
65
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
66
+ </ImportGroup>
67
+ <PropertyGroup Label="UserMacros" />
68
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
69
+ <LinkIncremental>true</LinkIncremental>
70
+ </PropertyGroup>
71
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
72
+ <LinkIncremental>false</LinkIncremental>
73
+ <OutDir>$(SolutionDir)$(PlatformTarget)$(Configuration)\</OutDir>
74
+ </PropertyGroup>
75
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
76
+ <OutDir>$(SolutionDir)$(PlatformTarget)$(Configuration)\</OutDir>
77
+ </PropertyGroup>
78
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
79
+ <ClCompile>
80
+ <WarningLevel>Level3</WarningLevel>
81
+ <Optimization>Disabled</Optimization>
82
+ <PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
83
+ <PrecompiledHeader>Use</PrecompiledHeader>
84
+ </ClCompile>
85
+ <Link>
86
+ <GenerateDebugInformation>true</GenerateDebugInformation>
87
+ <AdditionalDependencies>user32.lib;comsuppwd.lib</AdditionalDependencies>
88
+ </Link>
89
+ </ItemDefinitionGroup>
90
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
91
+ <ClCompile>
92
+ <WarningLevel>Level3</WarningLevel>
93
+ <PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
94
+ <PrecompiledHeader>Use</PrecompiledHeader>
95
+ </ClCompile>
96
+ <Link>
97
+ <GenerateDebugInformation>true</GenerateDebugInformation>
98
+ <AdditionalDependencies>user32.lib;comsuppw.lib</AdditionalDependencies>
99
+ </Link>
100
+ </ItemDefinitionGroup>
101
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
102
+ <Link>
103
+ <SuppressStartupBanner>false</SuppressStartupBanner>
104
+ <AdditionalDependencies>user32.lib;comsuppw.lib</AdditionalDependencies>
105
+ <GenerateDebugInformation>DebugFastLink</GenerateDebugInformation>
106
+ </Link>
107
+ </ItemDefinitionGroup>
108
+ <ItemGroup>
109
+ <Reference Include="System" />
110
+ <Reference Include="System.Core" />
111
+ <Reference Include="System.Data" />
112
+ <Reference Include="System.Drawing" />
113
+ <Reference Include="System.Windows.Forms" />
114
+ <Reference Include="System.Xml" />
115
+ <Reference Include="UIAutomationClient" />
116
+ <Reference Include="UIAutomationTypes" />
117
+ <Reference Include="WindowsBase" />
118
+ </ItemGroup>
119
+ <ItemGroup>
120
+ <ClInclude Include="ArrayHelper.h" />
121
+ <ClInclude Include="Locator.h" />
122
+ <ClInclude Include="DynamicAssemblyResolver.h" />
123
+ <ClInclude Include="MenuItemSelector.h" />
124
+ <ClInclude Include="resource.h" />
125
+ <ClInclude Include="Stdafx.h" />
126
+ <ClInclude Include="StringHelper.h" />
127
+ <ClInclude Include="targetver.h" />
128
+ <ClInclude Include="UiaDll.h" />
129
+ </ItemGroup>
130
+ <ItemGroup>
131
+ <ClCompile Include="ArrayHelper.cpp" />
132
+ <ClCompile Include="AssemblyInfo.cpp" />
133
+ <ClCompile Include="Locator.cpp" />
134
+ <ClCompile Include="ControlMethods.cpp" />
135
+ <ClCompile Include="DynamicAssemblyResolver.cpp" />
136
+ <ClCompile Include="MenuMethods.cpp" />
137
+ <ClCompile Include="SelectListMethods.cpp" />
138
+ <ClCompile Include="dllmain.cpp" />
139
+ <ClCompile Include="MenuItemSelector.cpp" />
140
+ <ClCompile Include="SpinnerMethods.cpp" />
141
+ <ClCompile Include="Stdafx.cpp">
142
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
143
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
144
+ </ClCompile>
145
+ <ClCompile Include="StringHelper.cpp" />
146
+ <ClCompile Include="StringMethods.cpp" />
147
+ <ClCompile Include="TabControlMethods.cpp" />
148
+ <ClCompile Include="TableMethods.cpp" />
149
+ <ClCompile Include="TextMethods.cpp" />
150
+ <ClCompile Include="UiaDll.cpp" />
151
+ </ItemGroup>
152
+ <ItemGroup>
153
+ <None Include="app.ico" />
154
+ <None Include="ReadMe.txt" />
155
+ </ItemGroup>
156
+ <ItemGroup>
157
+ <ResourceCompile Include="app.rc" />
158
+ </ItemGroup>
159
+ <ItemGroup>
160
+ <ProjectReference Include="..\RAutomation.UIA\RAutomation.UIA.csproj">
161
+ <Project>{0834d9ae-b1aa-422b-b3b2-796c1c346301}</Project>
162
+ </ProjectReference>
163
+ </ItemGroup>
164
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
165
+ <ImportGroup Label="ExtensionTargets">
166
+ </ImportGroup>
167
+ </Project>
@@ -0,0 +1,110 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <ItemGroup>
4
+ <Filter Include="Source Files">
5
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
6
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
7
+ </Filter>
8
+ <Filter Include="Header Files">
9
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
10
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
11
+ </Filter>
12
+ <Filter Include="Resource Files">
13
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
14
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
15
+ </Filter>
16
+ </ItemGroup>
17
+ <ItemGroup>
18
+ <ClInclude Include="UiaDll.h">
19
+ <Filter>Header Files</Filter>
20
+ </ClInclude>
21
+ <ClInclude Include="Stdafx.h">
22
+ <Filter>Header Files</Filter>
23
+ </ClInclude>
24
+ <ClInclude Include="resource.h">
25
+ <Filter>Header Files</Filter>
26
+ </ClInclude>
27
+ <ClInclude Include="targetver.h">
28
+ <Filter>Header Files</Filter>
29
+ </ClInclude>
30
+ <ClInclude Include="DynamicAssemblyResolver.h">
31
+ <Filter>Header Files</Filter>
32
+ </ClInclude>
33
+ <ClInclude Include="StringHelper.h">
34
+ <Filter>Header Files</Filter>
35
+ </ClInclude>
36
+ <ClInclude Include="Locator.h">
37
+ <Filter>Header Files</Filter>
38
+ </ClInclude>
39
+ <ClInclude Include="MenuItemSelector.h">
40
+ <Filter>Header Files</Filter>
41
+ </ClInclude>
42
+ <ClInclude Include="ArrayHelper.h">
43
+ <Filter>Header Files</Filter>
44
+ </ClInclude>
45
+ </ItemGroup>
46
+ <ItemGroup>
47
+ <ClCompile Include="UiaDll.cpp">
48
+ <Filter>Source Files</Filter>
49
+ </ClCompile>
50
+ <ClCompile Include="AssemblyInfo.cpp">
51
+ <Filter>Source Files</Filter>
52
+ </ClCompile>
53
+ <ClCompile Include="Stdafx.cpp">
54
+ <Filter>Source Files</Filter>
55
+ </ClCompile>
56
+ <ClCompile Include="dllmain.cpp">
57
+ <Filter>Source Files</Filter>
58
+ </ClCompile>
59
+ <ClCompile Include="DynamicAssemblyResolver.cpp">
60
+ <Filter>Source Files</Filter>
61
+ </ClCompile>
62
+ <ClCompile Include="ControlMethods.cpp">
63
+ <Filter>Source Files</Filter>
64
+ </ClCompile>
65
+ <ClCompile Include="Locator.cpp">
66
+ <Filter>Source Files</Filter>
67
+ </ClCompile>
68
+ <ClCompile Include="MenuItemSelector.cpp">
69
+ <Filter>Source Files</Filter>
70
+ </ClCompile>
71
+ <ClCompile Include="MenuMethods.cpp">
72
+ <Filter>Source Files</Filter>
73
+ </ClCompile>
74
+ <ClCompile Include="SelectListMethods.cpp">
75
+ <Filter>Source Files</Filter>
76
+ </ClCompile>
77
+ <ClCompile Include="StringHelper.cpp">
78
+ <Filter>Source Files</Filter>
79
+ </ClCompile>
80
+ <ClCompile Include="StringMethods.cpp">
81
+ <Filter>Source Files</Filter>
82
+ </ClCompile>
83
+ <ClCompile Include="TabControlMethods.cpp">
84
+ <Filter>Source Files</Filter>
85
+ </ClCompile>
86
+ <ClCompile Include="TableMethods.cpp">
87
+ <Filter>Source Files</Filter>
88
+ </ClCompile>
89
+ <ClCompile Include="TextMethods.cpp">
90
+ <Filter>Source Files</Filter>
91
+ </ClCompile>
92
+ <ClCompile Include="SpinnerMethods.cpp">
93
+ <Filter>Source Files</Filter>
94
+ </ClCompile>
95
+ <ClCompile Include="ArrayHelper.cpp">
96
+ <Filter>Source Files</Filter>
97
+ </ClCompile>
98
+ </ItemGroup>
99
+ <ItemGroup>
100
+ <None Include="ReadMe.txt" />
101
+ <None Include="app.ico">
102
+ <Filter>Resource Files</Filter>
103
+ </None>
104
+ </ItemGroup>
105
+ <ItemGroup>
106
+ <ResourceCompile Include="app.rc">
107
+ <Filter>Resource Files</Filter>
108
+ </ResourceCompile>
109
+ </ItemGroup>
110
+ </Project>
Binary file
Binary file
@@ -0,0 +1 @@
1
+ #include "stdafx.h"
@@ -0,0 +1,3 @@
1
+ //{{NO_DEPENDENCIES}}
2
+ // Microsoft Visual C++ generated include file.
3
+ // Used by app.rc
@@ -0,0 +1,5 @@
1
+ // stdafx.cpp : source file that includes just the standard includes
2
+ // UiaDll.pch will be the pre-compiled header
3
+ // stdafx.obj will contain the pre-compiled type information
4
+
5
+ #include "stdafx.h"
@@ -0,0 +1,41 @@
1
+ // stdafx.h : include file for standard system include files,
2
+ // or project specific include files that are used frequently, but
3
+ // are changed infrequently
4
+ //
5
+
6
+ #pragma once
7
+
8
+ #include "targetver.h"
9
+
10
+ #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
11
+ // Windows Header Files:
12
+ #include <windows.h>
13
+ #include <ObjBase.h>
14
+ #include <UIAutomation.h>
15
+ #include <comutil.h>
16
+
17
+ #include <list>
18
+
19
+ using namespace System;
20
+ using namespace System::Runtime::InteropServices;
21
+ namespace UIAutomation = System::Windows::Automation;
22
+
23
+ typedef enum {
24
+ Handle = 1,
25
+ Id,
26
+ Value,
27
+ Focus,
28
+ ScreenPoint
29
+ } FindMethod;
30
+
31
+ typedef struct _FindInformation {
32
+ HWND rootWindow;
33
+ int index;
34
+ bool onlySearchChildren;
35
+ FindMethod how;
36
+ union {
37
+ char stringData[256];
38
+ int intData;
39
+ int pointData[2];
40
+ } data;
41
+ } FindInformation, *LPFindInformation;
@@ -0,0 +1,8 @@
1
+ #pragma once
2
+
3
+ // Including SDKDDKVer.h defines the highest available Windows platform.
4
+
5
+ // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
6
+ // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
7
+
8
+ #include <SDKDDKVer.h>
@@ -0,0 +1,57 @@
1
+ 
2
+ Microsoft Visual Studio Solution File, Format Version 12.00
3
+ # Visual Studio 15
4
+ VisualStudioVersion = 15.0.28307.1433
5
+ MinimumVisualStudioVersion = 10.0.40219.1
6
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UiaDll", "UiaDll\UiaDll.vcxproj", "{4A06195F-8D10-4384-97C3-86D512C40DE4}"
7
+ EndProject
8
+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RAutomation.UIA", "RAutomation.UIA\RAutomation.UIA.csproj", "{0834D9AE-B1AA-422B-B3B2-796C1C346301}"
9
+ EndProject
10
+ Global
11
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
12
+ Debug|Any CPU = Debug|Any CPU
13
+ Debug|Mixed Platforms = Debug|Mixed Platforms
14
+ Debug|Win32 = Debug|Win32
15
+ Debug|x64 = Debug|x64
16
+ Release|Any CPU = Release|Any CPU
17
+ Release|Mixed Platforms = Release|Mixed Platforms
18
+ Release|Win32 = Release|Win32
19
+ Release|x64 = Release|x64
20
+ EndGlobalSection
21
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
22
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Debug|Any CPU.ActiveCfg = Debug|Win32
23
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
24
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Debug|Mixed Platforms.Build.0 = Debug|Win32
25
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Debug|Win32.ActiveCfg = Debug|Win32
26
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Debug|Win32.Build.0 = Debug|Win32
27
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Debug|x64.ActiveCfg = Debug|x64
28
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Debug|x64.Build.0 = Debug|x64
29
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Release|Any CPU.ActiveCfg = Release|Win32
30
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Release|Mixed Platforms.ActiveCfg = Release|Win32
31
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Release|Mixed Platforms.Build.0 = Release|Win32
32
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Release|Win32.ActiveCfg = Release|Win32
33
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Release|Win32.Build.0 = Release|Win32
34
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Release|x64.ActiveCfg = Release|x64
35
+ {4A06195F-8D10-4384-97C3-86D512C40DE4}.Release|x64.Build.0 = Release|x64
36
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
37
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Debug|Any CPU.Build.0 = Debug|Any CPU
38
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
39
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
40
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Debug|Win32.ActiveCfg = Debug|Any CPU
41
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Debug|x64.ActiveCfg = Debug|x64
42
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Debug|x64.Build.0 = Debug|x64
43
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Release|Any CPU.ActiveCfg = Release|Any CPU
44
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Release|Any CPU.Build.0 = Release|Any CPU
45
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
46
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Release|Mixed Platforms.Build.0 = Release|Any CPU
47
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Release|Win32.ActiveCfg = Release|Any CPU
48
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Release|x64.ActiveCfg = Release|x64
49
+ {0834D9AE-B1AA-422B-B3B2-796C1C346301}.Release|x64.Build.0 = Release|x64
50
+ EndGlobalSection
51
+ GlobalSection(SolutionProperties) = preSolution
52
+ HideSolutionNode = FALSE
53
+ EndGlobalSection
54
+ GlobalSection(ExtensibilityGlobals) = postSolution
55
+ SolutionGuid = {EBAEC6ED-49FE-4D3F-9CCB-035A14A4820F}
56
+ EndGlobalSection
57
+ EndGlobal
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <configuration>
3
+ <solution>
4
+ <add key="disableSourceControlIntegration" value="true" />
5
+ </solution>
6
+ </configuration>
Binary file
@@ -0,0 +1,136 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <PropertyGroup>
4
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
5
+
6
+ <!-- Enable the restore command to run before builds -->
7
+ <RestorePackages Condition=" '$(RestorePackages)' == '' ">false</RestorePackages>
8
+
9
+ <!-- Property that enables building a package from a project -->
10
+ <BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
11
+
12
+ <!-- Determines if package restore consent is required to restore packages -->
13
+ <RequireRestoreConsent Condition=" '$(RequireRestoreConsent)' != 'false' ">false</RequireRestoreConsent>
14
+
15
+ <!-- Download NuGet.exe if it does not already exist -->
16
+ <DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe>
17
+ </PropertyGroup>
18
+
19
+ <ItemGroup Condition=" '$(PackageSources)' == '' ">
20
+ <!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
21
+ <!-- The official NuGet package source (https://www.nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
22
+ <!--
23
+ <PackageSource Include="https://www.nuget.org/api/v2/" />
24
+ <PackageSource Include="https://my-nuget-source/nuget/" />
25
+ -->
26
+ </ItemGroup>
27
+
28
+ <PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
29
+ <!-- Windows specific commands -->
30
+ <NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
31
+ <PackagesConfig>$([System.IO.Path]::Combine($(ProjectDir), "packages.config"))</PackagesConfig>
32
+ </PropertyGroup>
33
+
34
+ <PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
35
+ <!-- We need to launch nuget.exe with the mono command if we're not on windows -->
36
+ <NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
37
+ <PackagesConfig>packages.config</PackagesConfig>
38
+ </PropertyGroup>
39
+
40
+ <PropertyGroup>
41
+ <!-- NuGet command -->
42
+ <NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\NuGet.exe</NuGetExePath>
43
+ <PackageSources Condition=" $(PackageSources) == '' ">@(PackageSource)</PackageSources>
44
+
45
+ <NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
46
+ <NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 $(NuGetExePath)</NuGetCommand>
47
+
48
+ <PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
49
+
50
+ <RequireConsentSwitch Condition=" $(RequireRestoreConsent) == 'true' ">-RequireConsent</RequireConsentSwitch>
51
+ <NonInteractiveSwitch Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' ">-NonInteractive</NonInteractiveSwitch>
52
+
53
+ <PaddedSolutionDir Condition=" '$(OS)' == 'Windows_NT'">"$(SolutionDir)\"</PaddedSolutionDir>
54
+ <PaddedSolutionDir Condition=" '$(OS)' != 'Windows_NT' ">"$(SolutionDir)"</PaddedSolutionDir>
55
+
56
+ <!-- Commands -->
57
+ <RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)</RestoreCommand>
58
+ <BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols</BuildCommand>
59
+
60
+ <!-- We need to ensure packages are restored prior to assembly resolve -->
61
+ <BuildDependsOn Condition="$(RestorePackages) == 'true'">
62
+ RestorePackages;
63
+ $(BuildDependsOn);
64
+ </BuildDependsOn>
65
+
66
+ <!-- Make the build depend on restore packages -->
67
+ <BuildDependsOn Condition="$(BuildPackage) == 'true'">
68
+ $(BuildDependsOn);
69
+ BuildPackage;
70
+ </BuildDependsOn>
71
+ </PropertyGroup>
72
+
73
+ <Target Name="CheckPrerequisites">
74
+ <!-- Raise an error if we're unable to locate nuget.exe -->
75
+ <Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
76
+ <!--
77
+ Take advantage of MsBuild's build dependency tracking to make sure that we only ever download nuget.exe once.
78
+ This effectively acts as a lock that makes sure that the download operation will only happen once and all
79
+ parallel builds will have to wait for it to complete.
80
+ -->
81
+ <MsBuild Targets="_DownloadNuGet" Projects="$(MSBuildThisFileFullPath)" Properties="Configuration=NOT_IMPORTANT;DownloadNuGetExe=$(DownloadNuGetExe)" />
82
+ </Target>
83
+
84
+ <Target Name="_DownloadNuGet">
85
+ <DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')" />
86
+ </Target>
87
+
88
+ <Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
89
+ <Exec Command="$(RestoreCommand)"
90
+ Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
91
+
92
+ <Exec Command="$(RestoreCommand)"
93
+ LogStandardErrorAsError="true"
94
+ Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
95
+ </Target>
96
+
97
+ <Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
98
+ <Exec Command="$(BuildCommand)"
99
+ Condition=" '$(OS)' != 'Windows_NT' " />
100
+
101
+ <Exec Command="$(BuildCommand)"
102
+ LogStandardErrorAsError="true"
103
+ Condition=" '$(OS)' == 'Windows_NT' " />
104
+ </Target>
105
+
106
+ <UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
107
+ <ParameterGroup>
108
+ <OutputFilename ParameterType="System.String" Required="true" />
109
+ </ParameterGroup>
110
+ <Task>
111
+ <Reference Include="System.Core" />
112
+ <Using Namespace="System" />
113
+ <Using Namespace="System.IO" />
114
+ <Using Namespace="System.Net" />
115
+ <Using Namespace="Microsoft.Build.Framework" />
116
+ <Using Namespace="Microsoft.Build.Utilities" />
117
+ <Code Type="Fragment" Language="cs">
118
+ <![CDATA[
119
+ try {
120
+ OutputFilename = Path.GetFullPath(OutputFilename);
121
+
122
+ Log.LogMessage("Downloading latest version of NuGet.exe...");
123
+ WebClient webClient = new WebClient();
124
+ webClient.DownloadFile("https://www.nuget.org/nuget.exe", OutputFilename);
125
+
126
+ return true;
127
+ }
128
+ catch (Exception ex) {
129
+ Log.LogErrorFromException(ex);
130
+ return false;
131
+ }
132
+ ]]>
133
+ </Code>
134
+ </Task>
135
+ </UsingTask>
136
+ </Project>