Имя пользователя:
Пароль:
 

Название темы: Автовход в Radmin Viewer
Показать сообщение отдельно

Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


Цитата Iska:
В лучшем случае смотрите либо в сторону чистого AutoIt, либо задействуйте библиотеку AutoItX3.dll для работы из-под WSH. »
А как через AutoItX3.dll и vbs запустить этот скрипт:
Код: Выделить весь код
#include <Constants.au3>
 
#Region ;Application and Tray Options
If StringRight(@ScriptName, 3) = 'au3' Then Opt('TrayIconDebug', 1)
Opt('TrayAutoPause', 0)
Opt('TrayOnEventMode', 1)
Opt('WinTitleMatchMode', 2)
 
TrayItemSetText($TRAY_ITEM_PAUSE, 'Pause')
TrayItemSetText($TRAY_ITEM_EXIT, 'Exit')
#EndRegion
 
$section = $CmdLineRaw
If $CmdLineRaw = '' Then $section = 'Radmin'
 
_Radmin()
 
Func _Radmin()
    $path = IniRead(@ScriptDir & '\radmin.ini', $section, 'Run', '')
    If $path = '' Then $path = @ScriptDir & '\Radmin.exe'
 
    If Not FileExists($path) Then
        MsgBox(48, 'No Radmin.exe', 'Radmin.exe not found. Put program to Radmin folder.')
        Exit
    EndIf
 
    $params = IniRead(@ScriptDir & '\radmin.ini', $section, 'Parameters', '')
    If $params <> '' Then $params = ' ' & $params
 
    $login = IniRead(@ScriptDir & '\radmin.ini', $section, 'Login', '')
    $password = IniRead(@ScriptDir & '\radmin.ini', $section, 'Password', '')
    If $path = '' Or $login = '' Or $password = '' Then Return 0
 
    $loginGate = IniRead(@ScriptDir & '\radmin.ini', $section, 'GateLogin', '')
    $passwordGate = IniRead(@ScriptDir & '\radmin.ini', $section, 'GatePassword', '')
 
    Run($path & $params)
 
    $aPath = StringSplit($path, '\', 1)
    $exe = $aPath[$aPath[0]]
 
    If $loginGate <> '' Then
        _Login($loginGate, $passwordGate, $exe)
    EndIf
 
    _Login($login, $password, $exe)
 
    $login = ''
    $password = ''
 
    $loginGate = ''
    $passwordGate = ''
 
    Return 1
EndFunc   ;==>_Radmin
 
Func _Login($log, $pass, $exe)
    While ProcessExists($exe) Or WinExists('Radmin')
        If WinExists('[TITLE:Radmin security; CLASS:#32770]', '') Then
            WinActivate('[TITLE:Radmin security; CLASS:#32770]', '')
            ControlSetText('[TITLE:Radmin security; CLASS:#32770]', '', '[CLASS:Edit; INSTANCE:1]', $log)
            ControlSetText('[TITLE:Radmin security; CLASS:#32770]', '', '[CLASS:Edit; INSTANCE:2]', $pass)
            ControlClick('[TITLE:Radmin security; CLASS:#32770]', '', '[CLASS:Button; INSTANCE:2]')
            ExitLoop
        EndIf
 
        If WinExists('[TITLE:Система безопасности Radmin; CLASS:#32770]', '') Then
            WinActivate('[TITLE:Система безопасности Radmin; CLASS:#32770]', '')
            ControlSetText('[TITLE:Система безопасности Radmin; CLASS:#32770]', '', '[CLASS:Edit; INSTANCE:1]', $log)
            ControlSetText('[TITLE:Система безопасности Radmin; CLASS:#32770]', '', '[CLASS:Edit; INSTANCE:2]', $pass)
            ControlClick('[TITLE:Система безопасности Radmin; CLASS:#32770]', '', '[CLASS:Button; INSTANCE:2]')
            ExitLoop
        EndIf
 
        Sleep(100)
    WEnd
EndFunc   ;==>_Login

Отправлено: 00:43, 29-09-2019 | #3

Название темы: Автовход в Radmin Viewer