Advertisement
Guest User

Untitled

a guest
Aug 9th, 2016
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 5.28 KB | None | 0 0
  1. #include <GUIConstants.au3>
  2. #include <WinAPIEx.au3>
  3.  
  4. Global $srv1 = "Главное управление №8", $srv2 = "Спецстрой России(Москва)", $srv3 = "Департамент строительства МО", $srv4 = "Главное управление №8(192.168.0.21)", $list1, $list2, $list3, $list4, $server
  5.  
  6. Global $title = "Настройка TrueConf v.1.0"
  7.  
  8. $Form1_1 = GUICreate($title, 354, 372, 821, 257) ;Создаем окно
  9. $Button1 = GUICtrlCreateButton("Подключиться", 109, 345, 129, 25) ;Создаем кнопку
  10. GUICtrlCreateGroup("Выберите учетную запись", 3, 170, 350, 120)
  11. $Combo1 = GUICtrlCreateCombo("", 18, 190, 320, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL, $CBS_DROPDOWNLIST)) ;Создаем выпадающий список
  12. GUICtrlSendMsg(-1, $CB_SETDROPPEDWIDTH, 320, 0) ;
  13. GUICtrlCreateGroup("", -99, -99, 1, 1) ; закрывает группу
  14. GUISetState(@SW_SHOW) ;Состояние окна(Показывать)
  15. GUICtrlCreateGroup("", 3, 0, 350, 150)
  16. $Radio1 = GUICtrlCreateRadio($srv1, 8, 24, 235, 16) ;Создаем радиокнопку
  17. $Radio2 = GUICtrlCreateRadio($srv2, 8, 55, 235, 16)
  18. $Radio3 = GUICtrlCreateRadio($srv3, 8, 85, 285, 16)
  19. $Radio4 = GUICtrlCreateRadio($srv4, 8, 118, 285, 16)
  20. GUICtrlCreateGroup("", -99, -99, 1, 1) ; закрывает группу
  21. $DataPath=@ScriptDir & "\etc\data.ini"
  22. Global $hKey
  23. $hKey = _WinAPI_RegOpenKey($HKEY_CURRENT_USER, 'SOFTWARE\TrueConf')
  24. If Not $hKey Then
  25.     MsgBox(16, $title, 'TrueConf Не найден!' & @CRLF & "Установите клиент TrueConf!")
  26.     GUIDelete()
  27.     Exit
  28. EndIf
  29.  
  30. $arr = IniReadSection($DataPath, $srv1) ;Читаем данные из файла data.ini из секции Сервер1
  31. For $i = 1 To $arr[0][0]
  32.   $list1 &= "|" & $arr[$i][0]
  33. Next
  34. $arr = IniReadSection($DataPath, $srv2)
  35. For $i = 1 To $arr[0][0]
  36.   $list2 &= "|" & $arr[$i][0]
  37. Next
  38. $arr = IniReadSection($DataPath, $srv3)
  39. For $i = 1 To $arr[0][0]
  40.   $list3 &= "|" & $arr[$i][0]
  41. Next
  42.  
  43. $arr = IniReadSection($DataPath, $srv4)
  44. For $i = 1 To $arr[0][0]
  45.   $list4 &= "|" & $arr[$i][0]
  46. Next
  47. ;MsgBox(0,"",$DataPath)
  48. While 1
  49.   Switch GUIGetMsg()
  50.     Case $GUI_EVENT_CLOSE
  51.       Exit
  52.    Case $Button1
  53.       If ProcessExists("TrueConf.exe") Then
  54.          ProcessClose("TrueConf.exe")
  55.       EndIf
  56.        Run(@ProgramFilesDir & "\TrueConf Client\TrueConf.exe")
  57.        ServerSelect()
  58.       ; Активация клиента
  59.       $client = WinWait("TrueConf Client")
  60.       WinActivate($client)
  61.       Send("{ALT}{ENTER}")
  62.       Sleep(500)
  63.       ;MsgBox(0,"","Выполняю функцию Login")
  64.       Login(GUICtrlRead($Combo1))
  65.       Exit
  66.       GUIDelete()
  67.     Case $Radio1
  68.       GUICtrlSetData( $Combo1, $list1)
  69.       $server = $srv1
  70.     Case $Radio2
  71.       GUICtrlSetData($Combo1, $list2)
  72.       $server = $srv2
  73.    Case $Radio3
  74.       GUICtrlSetData($Combo1, $list3)
  75.       $server = $srv3
  76.   Case $Radio4
  77.       GUICtrlSetData($Combo1, $list4)
  78.       $server = $srv4
  79.   EndSwitch
  80. WEnd
  81.  
  82. Func ServerSettings($IP,$Port)
  83.   ; Активация клиента
  84. $client = WinWait("TrueConf Client")
  85. WinActivate($client)
  86. Send("{ALT}{LEFT 3}")
  87. sleep(500)
  88. send("{DOWN 3}")
  89. Sleep(500)
  90. Send("{Enter}")
  91. Sleep(500)
  92. $NetworkWin=WinWait("Сетевые настройки")
  93. WinActivate($NetworkWin)
  94. Sleep(500)
  95. Send("{SPACE}")
  96. Sleep(500)
  97. Send("{Tab 2}")
  98. Sleep(500)
  99. send("{Enter}")
  100. $ServerWin = WinWait("Сервер")
  101. WinActivate($Server)
  102. Sleep(500)
  103. ControlSetText($ServerWin, "", "[CLASS:TEdit; INSTANCE:3]", $IP)
  104. Sleep(500)
  105. ControlSetText($ServerWin, "", "[CLASS:TEdit; INSTANCE:4]", $Port)
  106. Sleep(500)
  107. ControlClick($ServerWin, "", "[CLASS:TButton; INSTANCE:3]")
  108. WinWait("Сетевые настройки")
  109. WinActivate($NetworkWin)
  110. ControlClick($NetworkWin, "", "[CLASS:TButton; INSTANCE:5]")
  111. EndFunc
  112.  
  113. Func ServerSelect()
  114.    If GUICtrlRead ($Radio1) = $GUI_CHECKED Then
  115.       ;RunWait(@ComSpec & ' /C regedit /s"' & @ScriptDir & '\etc\Izh_External.reg"', '', @SW_HIDE)
  116.    ServerSettings("195.88.198.247","44307")
  117.    EndIf
  118.    If GUICtrlRead ($Radio2) = $GUI_CHECKED Then
  119.       ;RunWait(@ComSpec & ' /C regedit /s"' & @ScriptDir & '\etc\Moscow.reg"', '', @SW_HIDE)
  120.       ServerSettings("212.46.251.150","4307")
  121.    EndIf
  122.    If GUICtrlRead ($Radio3) = $GUI_CHECKED Then
  123.       ;RunWait(@ComSpec & ' /C regedit /s"' & @ScriptDir & '\etc\Depart_Build_MO.reg"', '', @SW_HIDE)
  124.       ServerSettings("188.128.123.60","4307")
  125.    EndIf
  126.    If GUICtrlRead ($Radio4) = $GUI_CHECKED Then
  127.       ;RunWait(@ComSpec & ' /C regedit /s"' & @ScriptDir & '\etc\Izh.reg"', '', @SW_HIDE)
  128.       ServerSettings("192.168.0.21","4307")
  129.    EndIf
  130. EndFunc
  131.  
  132. Func Login($nick)
  133.   Local $data = StringSplit(IniRead($DataPath, $server, $nick, ''), "|")
  134.   If @error Then Return
  135.   Local $user = $data[1], $pass = $data[2]
  136.   ;MsgBox(0,"","Вводим логин и пароль")
  137.   Opt("WinTitleMatchMode", 2)
  138.   $login = WinWait("авторизация", "")
  139.   WinActivate($login)
  140.   Sleep(200) ; Дождаться, когда контролы станут активны
  141.   ControlSetText($login, "", "[CLASS:TEdit; INSTANCE:2]", $user) ; Поле с именем
  142.   ControlSetText($login, "", "[CLASS:TEdit; INSTANCE:1]", $pass) ; Поле с паролем
  143.   ControlClick($login, "", "[CLASS:TButton; INSTANCE:1]") ; Кнопка
  144. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement