Цитата:
Цитата 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
|