Не получается прочитать информацию с элементов SysTabControl32 и SysListView32:
Результат:
Что я делаю не так?
Код:
#include <GuiTab.au3>
#include <GuiListView.au3>
Global $tValue = DllStructCreate('dword')
If @OSArch = 'X64' Then
DllCall('kernel32.dll', 'int', 'Wow64DisableWow64FsRedirection', 'ptr', DllStructGetPtr($tValue))
EndIf
Global $iResult = ShellExecute(@WindowsDir & '\System32\msconfig.exe')
If @OSArch = 'X64' Then
DllCall('kernel32.dll', 'int', 'Wow64RevertWow64FsRedirection', 'ptr', DllStructGetPtr($tValue))
EndIf
ConsoleWrite($iResult & @CRLF)
If Not $iResult Then Exit 1
Global $hWnd = WinWait('[TITLE:Конфигурация системы]', '', 5)
ConsoleWrite('Window: ' & $hWnd & @CRLF)
If Not $hWnd Then Exit 2
Global $hTab = ControlGetHandle($hWnd, '', '[CLASS:SysTabControl32; INSTANCE:1]')
ConsoleWrite('Tab: ' & $hTab & @CRLF)
If Not $hTab Then Exit 3
Global $iCount = _GUICtrlTab_GetItemCount($hTab)
ConsoleWrite('Tab Count: ' & $iCount & @CRLF)
Global $sTabName = 'Службы'
If _GUICtrlTab_GetItemText($hTab, _GUICtrlTab_GetCurFocus($hTab)) <> $sTabName Then
For $i = 0 To $iCount-1
If _GUICtrlTab_GetItemText($hTab, $i) == $sTabName Then
_GUICtrlTab_SetCurFocus($hTab, $i)
ExitLoop
EndIf
Next
EndIf
Global $hList = ControlGetHandle($hWnd, '', '[CLASS:SysListView32; INSTANCE:1]') ; Иногда бывает, что List не успевает прорисоваться. Есть функция ожидания появления контрола (кроме Sleep)?
ConsoleWrite('List: ' & $hList & @CRLF)
If Not $hList Then Exit 4
ConsoleWrite('Item Count: ' & ControlListView($hWnd, '', $hList, 'GetItemCount') & @CRLF)
ConsoleWrite('Item Count: ' & _GUICtrlListView_GetItemCount($hList) & @CRLF)
ConsoleWrite('Column Count: ' & _GUICtrlListView_GetColumnCount($hList) & @CRLF)
Global $aInfo = _GUICtrlListView_GetColumn($hList, 1)
ConsoleWrite('Header: ' & $aInfo[5] & @CRLF)
ConsoleWrite('Text: ' & _GUICtrlListView_GetItemText($hList, 1) & @CRLF)
Результат:
8864
Window: 0x00631740
Tab: 0x006E0E2C
Tab Count: 0
List: 0x003C1696
Item Count: 0
Item Count: 0
Column Count: 0
Header:
Text:
>Exit code: 0 Time: 2.114
Что я делаю не так?