Что нового

Не работает выбор пользователя в ComboBox

Автор
Gallemar

Gallemar

Новичок
Сообщения
14
Репутация
0
InnI сказал(а):
Gallemar [?]
Вот что получается
Теперь пробуйте работать с этим выпавшим списком, как вы делали в самом начале с 'TR:rofl:BLookupCombo1'.
не получается
Код:
ControlFocus("S-Market", "", "TRxDBLookupCombo1")
$pos = ControlGetPos("S-Market", "", "TRxDBLookupCombo1")
ControlClick("S-Market", "", "TRxDBLookupCombo1", "left", 1, $pos[2] - 3, 3)
ControlCommand('S-Market','','TRxDBLookupCombo1','SelectString','Administrator (пароль по умолчанию 3)')

Появляется список и всё
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Gallemar [?]
Появляется список и всё
Вы не поняли. Работать теперь надо с самим списком. Т.е. вместо 'TR:rofl:BLookupCombo1' подставлять Class и Instance списка. Также попробуйте различные функции из GuiListBox.au3 или из GuiComboBox.au3. Элемент у вас нестандартный - нужно пробовать, экспериментировать.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Gallemar,
Что этот код в консоли напишет?
Код:
#include <GuiComboBox.au3>

Global $iPID, $hWnd, $hCombo, $tComboInfo, _
		$vName = 'Size;EditLeft;EditTop;EditRight;EditBottom;BtnLeft;BtnTop;BtnRight;BtnBottom;BtnState;hCombo;hEdit;hList'

$iPID = Run(@ScriptDir & '\S_Market.exe')
If Not $iPID Then Exit 1
$hWnd = WinWaitActive('[Title:S-Market; Class:TfmLogin]', '', 5)
If Not $hWnd Then Exit 2
$hCombo = ControlGetHandle($hWnd, '', '[CLASS:TRxDBLookupCombo; INSTANCE:1]')
If Not $hCombo Then Exit 3
If Not _GUICtrlComboBox_GetComboBoxInfo($hCombo, $tComboInfo) Then Exit 4
$vName = StringSplit($vName, ';')
For $i = 1 To $vName[0]
	ConsoleWrite($vName[$i] & ': ' & DllStructGetData($tComboInfo, $vName[$i]) & @LF)
Next
А этот покажет?
Код:
#include <Array.au3>
#include <WinAPISys.au3>

Global $iPID, $hWnd, $aData

$iPID = Run(@ScriptDir & '\S_Market.exe')
If Not $iPID Then Exit 1
$hWnd = WinWaitActive('[Title:S-Market; Class:TfmLogin]', '', 5)
If Not $hWnd Then Exit 2
$aData = _WinAPI_EnumChildWindows($hWnd)
_ArrayDisplay($aData)
 
Автор
Gallemar

Gallemar

Новичок
Сообщения
14
Репутация
0
madmasles сказал(а):
Gallemar,
Что этот код в консоли напишет?
Код:
#include <GuiComboBox.au3>

Global $iPID, $hWnd, $hCombo, $tComboInfo, _
		$vName = 'Size;EditLeft;EditTop;EditRight;EditBottom;BtnLeft;BtnTop;BtnRight;BtnBottom;BtnState;hCombo;hEdit;hList'

$iPID = Run(@ScriptDir & '\S_Market.exe')
If Not $iPID Then Exit 1
$hWnd = WinWaitActive('[Title:S-Market; Class:TfmLogin]', '', 5)
If Not $hWnd Then Exit 2
$hCombo = ControlGetHandle($hWnd, '', '[CLASS:TRxDBLookupCombo; INSTANCE:1]')
If Not $hCombo Then Exit 3
If Not _GUICtrlComboBox_GetComboBoxInfo($hCombo, $tComboInfo) Then Exit 4
$vName = StringSplit($vName, ';')
For $i = 1 To $vName[0]
	ConsoleWrite($vName[$i] & ': ' & DllStructGetData($tComboInfo, $vName[$i]) & @LF)
Next
>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\S-Market\sm1.au3"
>Exit code: 4 Time: 1.526
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Gallemar,
Предупреждение За нарушение общих правил (пункт В.2):
Старайтесь избегать “Over quoting” (преувеличенное цитирование) - цитируйте только необходимую часть сообщения, которая наилучшим образом подчеркнёт суть цитируемого.


С уважением, ваш Глобальный модератор.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Gallemar
Если стандартные средства не помогают - пробуйте нестандартные: UIAutomate
 
Автор
Gallemar

Gallemar

Новичок
Сообщения
14
Репутация
0
InnI сказал(а):
Gallemar
Если стандартные средства не помогают - пробуйте нестандартные: UIAutomate
А подсказать можете? Только начал работать с AutoIt, пока мало что понятно.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Gallemar [?]
А подсказать можете?
Подсказать что? Как выучить AutoIt за неделю? Я не знаю...
Могу попробовать написать пример с использованием UIAutomate. Для этого нужны данные Au3Info при наведении мишени на выпавший список и данные утилиты Inspect при наведении мыши на один из пунктов списка.
 
Верх