Привет, у меня есть необходимость с помощью AutoIT управлять GUI элементами в Mozilla Thunderbird 8.0 и это у меня не получается, для начала я пытался получить количество элементов в окне программы и нажать кнопку "Файл" в меню сверху так:
окно запущенной программы находится, хендл окна тоже получается, активация окна происходит, а вот количество элементов не выводит и нажимать "Файл" кнопку не хочет, (возможно потому, что SysListView321 предназначен для "списка"?)
p.s. управление элементами GUI в этом почтовом клиенте в конечном счете нужно для автоматического подключения новых адресов почт, получения письма для подтверждения регистрации и вытаскивания ссылки на активацию из письма
------------------------
пока ответа не было, решил сам "топорным методом", использования горячих клавиш, табов и тупоро энтера)) , если вдруг интересно, то код ниже, mails - массив строк с адресами почт
Код:
If WinExists("[class:MozillaWindowClass]") Then
$winHwnd = WinGetHandle ("[class:MozillaWindowClass]")
$itemscount = ControlListView($winHwnd, "", 'SysListView321', "GetItemCount");
MsgBox(0, "Mozilla Thunderbirdm itemscount", "Window exists, items_"&$itemscount&'_handle_'&$winHwnd)
WinActivate ("[class:MozillaWindowClass]")
WinMenuSelectItem($winHwnd, "", "&Файл",'По&дписка' )
EndIf
окно запущенной программы находится, хендл окна тоже получается, активация окна происходит, а вот количество элементов не выводит и нажимать "Файл" кнопку не хочет, (возможно потому, что SysListView321 предназначен для "списка"?)
p.s. управление элементами GUI в этом почтовом клиенте в конечном счете нужно для автоматического подключения новых адресов почт, получения письма для подтверждения регистрации и вытаскивания ссылки на активацию из письма
------------------------
пока ответа не было, решил сам "топорным методом", использования горячих клавиш, табов и тупоро энтера)) , если вдруг интересно, то код ниже, mails - массив строк с адресами почт
Код:
If WinExists("Mozilla Thunderbird") Then
$winHwnd = WinGetHandle ("Mozilla Thunderbird")
WinActivate ($winHwnd)
for $i = 1 to 100
send('{ALT}ф{ENTER}ч')
sleep(500)
send('1{TAB}'&$mails[$i]&'@yahoo.com{TAB}пароль{TAB}{TAB}{ENTER}')
sleep(7000)
send('{TAB}{UP}{UP}{LEFT}{TAB}{TAB}{ENTER}')
next
EndIf