Module: RAutomation::Adapter::MsUia::UiaDll

Extended by:
FFI::Library
Defined in:
lib/rautomation/adapter/ms_uia/uia_dll.rb

Defined Under Namespace

Classes: FindData, SearchCriteria

Constant Summary collapse

HowToFind =
enum(:hwnd, 1,
:id,
:value,
:focus,
:point)

Class Method Summary collapse

Class Method Details

.bounding_rectangle(search_information)



120
121
122
123
124
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 120

def self.bounding_rectangle(search_information)
  boundary = FFI::MemoryPointer.new :long, 4
  BoundingRectangle search_information, boundary
  boundary.read_array_of_long(4)
end

.children_class_names(search_information)



138
139
140
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 138

def self.children_class_names(search_information)
  strings_from :GetClassNames, search_information
end

.class_name(search_information)



134
135
136
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 134

def self.class_name(search_information)
  string_from(:ClassName, search_information)
end

.exists?(search_information) ⇒ Boolean

Returns:

  • (Boolean)


116
117
118
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 116

def self.exists?(search_information)
  ElementExists search_information
end

.find_table_values(search_information)



217
218
219
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 217

def self.find_table_values(search_information)
  strings_from :Table_FindValues, search_information
end

.get_control_value(hwnd)



126
127
128
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 126

def self.get_control_value(hwnd)
  string_from(:Control_GetValue, hwnd)
end

.name(search_information)



130
131
132
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 130

def self.name(search_information)
  string_from(:Name, search_information)
end

.selection(search_information)



162
163
164
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 162

def self.selection(search_information)
  string_from(:SelectList_Selection, search_information)
end

.table_coordinate_valid?(hwnd, row, column = 0) ⇒ Boolean

Returns:

  • (Boolean)


205
206
207
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 205

def self.table_coordinate_valid?(hwnd, row, column=0)
  Table_CoordinateIsValid hwnd, row, column
end

.table_headers(hwnd)



209
210
211
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 209

def self.table_headers(hwnd)
  strings_from :Table_GetHeaders, hwnd
end

.table_select(hwnd, which_item)



192
193
194
195
196
197
198
199
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 192

def self.table_select(hwnd, which_item)
  case which_item
    when Integer
      Table_SelectByIndex hwnd, which_item
    when String
      Table_SelectByValue hwnd, which_item
  end
end

.table_value_at(hwnd, row, column = 0)



201
202
203
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 201

def self.table_value_at(hwnd, row, column=0)
  string_from(:Table_ValueAt, hwnd, row, column)
end

.table_values(hwnd)



213
214
215
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 213

def self.table_values(hwnd)
  strings_from :Table_GetValues, hwnd
end