;Ver.2.02
;Ver.3.00 - .INI
;Ver.3.01 - 3.01_Full_screen
;Ver.3.02 - 3.01_Full_screen - telnet
#include <WinAPIEx.au3>
EnvUpdate ( )
Opt("TrayIconDebug", 1); Отладко-режим - в трее смотрим: в какой сроке "зависло"?
BlockInput(1)
$NamScr="Анализатор_загрузки_потока_E1_и_COT"
;Sleep(20)
$ABC=1
$text1 = "^{c}"
$var = 0
$manager = 0; если мы пришли из MGR => 1; иначе =0
;$user=IniRead ( "C:\Temp\User.ini", "User", $var, "" )
;$Profile=IniRead ( "C:\Temp\User.ini", "Profile", $var, "" )
;$das=IniRead ( "C:\Temp\User.ini", "D&S", $var, "" )
;Run("C:\Distrib\Term\PuTTYPortable\PuTTYPortable.exe"); Было
; Run($das & $Profile & "\Мои документы\Distrib\Term\PuTTYPortable\PuTTYPortable.exe"); Стало
; WinActivate ("PuTTY Configuration")
; WinWaitActive("PuTTY Configuration")
; ;WinSetState ("PuTTY Configuration", "", @SW_MAXIMIZE ); "PuTTY Configuration" - во весь экран
; ;Sleep(20000); Оставлено, как ПАМЯТНИК БДИТЕЛЬНОСТИ. :) И неумению анализировать содержимое экрана.
; ;WinActivate ("PuTTY Configuration")
; ;WinWaitActive("PuTTY Configuration")
; ;Exit
; ;Send("{TAB}{TAB}{TAB}{TAB}{1}"); - БЫЛО
; ;Send("{TAB 4}{1}"); - СТАЛО
; ;Send("{TAB 4}{Right}"); - СТАЛО
; Send("{TAB 4}{Down 2}"); - СТАЛО
; ControlClick ("PuTTY Configuration", "Load", "Button11")
; WinActivate ("PuTTY Configuration")
; WinWaitActive("PuTTY Configuration")
; ;Send("{TAB}{TAB}{TAB}{TAB}{ENTER}"); - БЫЛО
; Send("{TAB 4}{ENTER}"); - СТАЛО
Run("telnet 172.16.0.9"); Стало - telnet
Sleep(1000)
;$handle = WinGetHandle("[Class:ConsoleWindowClass]")
;_WinAPI_SetKeyboardLayout($handle, 0x0409)
;ControlSend($handle, "", "", $text1)
;Sleep(1000)
;Send("{ENTER}")
;Sleep(1000)
;Sleep(333)
Send("mtcl")
Send("{ENTER}")
Sleep(333)
Send("super-puper-password")
Send("{ENTER}")
;Exit
;WinActivate ("Telnet 172.16.0.9")
;WinWaitActive("Telnet 172.16.0.9")
Sleep(333)
WinSetState ("Telnet 172.16.0.9", "", @SW_MAXIMIZE ); "172.16.0.9 - PuTTY" - во весь экран
;WinActivate ("Telnet 172.16.0.9")
;WinWaitActive("Telnet 172.16.0.9")
;Send("{ENTER}")
;Sleep(1500)
;А ЗДЕСЬ (ниже) ЗАКРЫТИЕ C:\WINDOWS\system32\cmd.exe; ConsoleWindowClass
;If $ABC=1 Then
If WinExists("C:\WINDOWS\system32\cmd.exe") Then
;MsgBox(0, "", "Window закрываем")
$handle = WinGetHandle("C:\WINDOWS\system32\cmd.exe", "")
WinClose($handle)
Else
; ;НИ</s>ХРЕНА</s>ЧЕГО
EndIf
$txt="trkstat -r 100"
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
do
If $ABC=1 Then
Send($txt)
Send("{ENTER}")
Else
;НИ</s>ХРЕНА</s>ЧЕГО
EndIf
;Send("{ENTER}")
BlockInput(0)
;$answer = MsgBox(3+4096, "Завершение PUTTY", "Завершение работы анализатора." & @LF & @LF & "This script will be terminated. Terminate?")
$answer = MsgBox(3+4096, "Завершение работы анализатора", """ДА"" - Выход " & @LF & @LF & """НЕТ"" - Выбор: 'E1' <=> 'CO'" & @LF & @LF & """ОТМЕНА"" - Продолжение работы в MGR")
BlockInput(1)
;_WinAPI_SetKeyboardLayout($handle, 0x0409)
Switch $answer; 1-й Switch <=> Switch № I
Case 6; YES <=> 1-й Switch <=> Switch № I
;YES
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
If $manager = 0 Then;
;Send("{q}")
$handle = WinGetHandle("[Class:ConsoleWindowClass]")
_WinAPI_SetKeyboardLayout($handle, 0x0409)
;_SendEx("{q}")
_SendExEx("{q}")
Sleep(300)
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
;Sleep(300)
Send("{ENTER}")
Sleep(300)
Else
; Них.
EndIf
;_SendEx("{q}")
;_SendEx("Текст на русском + On English")
_SendExEx("^{c 11}")
;Send("^{c 11}")
WinActivate ("Telnet 172.16.0.9")
Send("exit")
Send("{ENTER}")
;MsgBox(4096, "Зав", "Зав", 2)
BlockInput(0)
;Exit
Fini ()
Case 7; NO <=> 1-й Switch <=> Switch № I
;NO
$manager = 0;
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
If $manager = 0 Then;
;Send("{q}")
$handle = WinGetHandle("[Class:ConsoleWindowClass]")
_WinAPI_SetKeyboardLayout($handle, 0x0409)
;_SendEx("{q}")
_SendExEx("{q}")
Else
; Них.
EndIf
;_SendEx("{q}")
Sleep(300)
WinActivate ("Telnet 172.16.0.9")
Send("{ENTER}")
Sleep(300)
;Send("^{c 11}")
;_SendEx("^{c 11}"); ??????????????????????????????????????????????????????????????????????????
_SendExEx("^{c 11}")
WinActivate ("Telnet 172.16.0.9")
If $ABC=1 Then
If $txt="trkstat -r 100" Then
$txt="trkstat -r 0 18"
Else
$txt="trkstat -r 100"
EndIf
Else
;НИ</s>ХРЕНА</s>ЧЕГО
$txt="trkstat -r 100"
EndIf
$manager = 0
$ABC=1
Case 2; CANCEL <=> 1-й Switch <=> Switch № I
;CANCEL
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
;Send("{q}")
;_SendEx("{q}")
;$handle = WinGetHandle("[Class:ConsoleWindowClass]")
;_WinAPI_SetKeyboardLayout($handle, 0x0409)
If $manager = 0 Then;
;Send("{q}")
$handle = WinGetHandle("[Class:ConsoleWindowClass]")
_WinAPI_SetKeyboardLayout($handle, 0x0409)
;_SendEx("{q}")
_SendExEx("{q}")
Else
; Них.
EndIf
Sleep(300)
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
Send("{ENTER}")
Sleep(300)
;Send("^{c 11}")
;_SendEx("^{c 11}")
_SendExEx("^{c 11}")
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
Send("mgr")
$manager = 1
;_SendEx("mgr")
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
Send("{ENTER}")
Sleep(500)
BlockInput(0)
$answer = MsgBox(3+4096, "Завершение работы анализатора", """ДА"" - Выход " & @LF & @LF & """НЕТ"" - Выбор: 'E1' <=> 'CO'" & @LF & @LF & """ОТМЕНА"" - Продолжение работы в MGR")
;MsgBox(4096, "Test", "This box will time out in 3 seconds", 3) ;Тест дабы понять: и где же это я? В какой ветке?
BlockInput(1)
;_WinAPI_SetKeyboardLayout($handle, 0x0409)
Switch $answer; 2-й Switch <=> Switch № II
Case 6; YES <=> 2-й Switch <=> Switch № II
;YES
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
;MsgBox(4096, "Test", "This box will time out in 3 seconds", 1) ;Тест дабы понять: и где же это я? В какой ветке?
;WinActivate ("Telnet 172.16.0.9")
;WinWaitActive("Telnet 172.16.0.9")
; Sleep(3300)
;Send("^{c 11}")
;_SendEx("^{c 11}")
;_SendEx("^{c}")
;Sleep(300)
;_SendEx("^{c}")
;$handle = WinGetHandle("[Class:ConsoleWindowClass]")
;_WinAPI_SetKeyboardLayout($handle, 0x0409)
;_SendExEx("^c");
_SendExEx("^{c 11}")
; Sleep(3300)
;ControlSend($handle, "", "", $text1)
;Send("^{c 11}")
;ControlSend($handle, "", "", "^{c}")
;_SendEx("^{c 11}")
;Exit
Sleep(300)
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
Send("{ENTER}")
;выше 300
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
Send("exit")
Send("{ENTER}")
Fini()
;BlockInput(0)
;Exit
Case 7; NO <=> 2-й Switch <=> Switch № II
;NO
$ABC=1
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
Sleep(300)
Send("^{c 11}")
;_SendEx("^{c 11}")
Sleep(300)
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
Send("{ENTER}")
;выше 300
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
$txt="trkstat -r 100"
$manager = 0
Case 2; CANCEL <=> 2-й Switch <=> Switch № II
;CANCEL
$ABC=2
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
Sleep(300)
;Send("^{c 11}")
;_SendEx("^{c 11}")
;_SendExEx("^{c 11}")
_SendExEx("^{c 11}")
Sleep(300)
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
;Send("{ENTER}")
;выше 300
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
Send("mgr")
;_SendEx("mgr")
WinActivate ("Telnet 172.16.0.9")
WinWaitActive("Telnet 172.16.0.9")
Send("{ENTER}")
Sleep(1500)
BlockInput(0)
$manager = 1
;Exit
EndSwitch
;Exit
EndSwitch
Until $answer = 6; Case 6: ;YES
Fini ()
#cs ----------------------------------------------------------------------------
Список функций:
Fini(); Завершение работы.
#ce ----------------------------------------------------------------------------
;Func _SendEx($sString) ; _SendEx($sString)
; Local $sOld_Clip = ClipGet()
;
; ClipPut($sString)
; Sleep(10)
; Send("+{INSERT}")
;
; ClipPut($sOld_Clip)
;EndFunc
Func _SendEx($sString)
Local $sOld_Clip = ClipGet()
ClipPut($sString)
Sleep(10)
Send("+{INSERT}")
ClipPut($sOld_Clip)
EndFunc
Func _SendExEx($sKeys, $iFlag=0)
If @KBLayout = 0419 Then
Local $sANSI_Chars = "ёйцукенгшщзхъфывапролджэячсмитьбю.?"
Local $sASCII_Chars = "`qwertyuiop[]asdfghjkl;'zxcvbnm,./&"
Local $aSplit_Keys = StringSplit($sKeys, "")
Local $sKey
$sKeys = ""
For $i = 1 To $aSplit_Keys[0]
$sKey = StringMid($sANSI_Chars, StringInStr($sASCII_Chars, $aSplit_Keys[$i]), 1)
If $sKey <> "" Then
$sKeys &= $sKey
Else
$sKeys &= $aSplit_Keys[$i]
EndIf
Next
EndIf
Return Send($sKeys, $iFlag)
EndFunc
Func Fini(); завершение работы
;Send("{ENTER}")
Sleep(300)
Send("{ENTER}")
BlockInput(0)
MsgBox(0,"Статус:", "Скрипт """ & $NamScr& """ свою работу завершил.", 5)
;BlockInput(0)
;AktNMC() - после окончания отладки - ВОССТАНОВИТЬ!
Opt("TrayIconDebug", 0); Отладко-режим - выключение перед выходом.
EnvUpdate ( )
Exit
EndFunc
#cs ----------------------------------------------------------------------------
C:\Temp\User.ini
********************************************************************************
[User]
0=Пользователь
[Profile]
0=Пользователь.cm00222
[D&S]
0=C:\Documents and Settings\
[Dflt]
0=132
#ce ----------------------------------------------------------------------------