Что нового

[Окна, Диалоги] Как постоянно держать окно активным для ввода сообщений

RomanM

Новичок
Сообщения
2
Репутация
0
День добрый.
Подскажите, пожалуйста, как сделать так чтобы от появляющихся новых активных окон не страдало выбранное окно. Есть окно для ввода текста. Я ввожу текст и в процессе его ввода появляется новое. В результате ввод в нужное окно прерывается.

#include <MsgBoxConstants.au3>
#include <AutoItConstants.au3>

Func cisco_asdm_login($username, $password, $ip)
Opt("SendKeyDelay", 100) ;15 milliseconds
ShellExecute("javaws.exe", '"https://"' & $ip & '"/admin/public/asdm.jnlp"')


Sleep(10000)
Local $aList = WinList()
Global $exitLoopbool = True

While $exitLoopbool
; Loop through the array displaying only visable windows with a title.
$exitLoopbool = NOT $exitLoopbool

For $i = 1 To $aList[0][0]

Local $hWnd = $aList[$i][1]

If StringRegExp(WinGetTitle($hWnd), 'core') <> 0 Then
WinSetState($hWnd, "", @SW_MINIMIZE)
EndIf

If (StringRegExp(WinGetTitle($hWnd), 'Authentication Required') <> 0) Then
WinActivate($hWnd)
WinSetOnTop($hWnd, "", $WINDOWS_ONTOP)
$exitLoopbool = True
EndIf

If (StringRegExp(WinGetTitle($hWnd), 'Cisco ASDM-IDM Launcher') <> 0) Then
WinActivate($hWnd)
WinSetOnTop($hWnd, "", $WINDOWS_ONTOP)
$exitLoopbool = True
EndIf

If (StringRegExp(WinGetTitle($hWnd), 'Authentication Required') <> 0) And (BitAND(WinGetState($hWnd), 2)) Then


ControlSend($hWnd, "", "", $username,1)
Send("{TAB}")
ControlSend($hWnd, "", "", $password,1)
Send("{ENTER}")
WinSetOnTop($hWnd, "", $WINDOWS_NOONTOP)



ElseIf (StringRegExp(WinGetTitle($hWnd), 'Cisco ASDM-IDM Launcher') <> 0) And (BitAND(WinGetState($hWnd), 2)) Then


ControlSend($hWnd, "", "", $username,1)
Send("{TAB}")
ControlSend($hWnd, "", "", $password,1)
Send("{ENTER}")
WinSetOnTop($hWnd, "", $WINDOWS_NOONTOP)

EndIf


Next

If $exitLoopbool Then
ExitLoop
EndIf

Sleep(5000)
Local $aList = WinList()
WEnd


EndFunc

cisco_asdm_login('login', 'pswd', "ip")


Exit
 

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
RomanM
Замените Send на ControlSend.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
RomanM

Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


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