Хотел сделать автовход в Radmin Viewer, чтобы не вводить пароль. Нашел vbs скрипт, но он срабатывает, только если включена английская раскладка по умолчанию. Добавление в скрипт комбинации клавиш переключения раскладки не помогает.
Господа, подскажите, пожалуйста как выйти из ситуации, не включая английскую раскладку по умолчанию?
set WshShell = WScript.CreateObject ("WScript.Shell")
WshShell.Run "Radmin.exe /connect:111.11.11.111:4099"
WScript.Sleep 1000
WshShell.AppActivate "Система безопасности Radmin: 111.11.11.111"
WScript.Sleep 500
WshShell.SendKeys "login{TAB}"
WScript.Sleep 500
WshShell.SendKeys "password{ENTER}"
PS: Можно ли как-то на худой конец в начале переключать английскую раскладку по умолчанию, а потом опять возвращать русскую раскладку по умолчанию?
Sisin, .SendKeys() вообще мало пригоден для какой-либо автоматизации, слишком много подводных камней и никакой гарантии.
В лучшем случае смотрите либо в сторону чистого AutoIt, либо задействуйте библиотеку AutoItX3.dll для работы из-под WSH.
В лучшем случае смотрите либо в сторону чистого 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
Sisin, никак. Смотрите примеры работы с библиотекой AutoItX3.dll в каталоге %ProgramFiles%\AutoIt3\AutoItX\Examples\VBScript установленного AutoIt, здесь: AutoItX (https://www.script-coding.com/AutiItX.html) (в последних версиях убраны функции работы с реестром и ini-файлами), здесь: Что есть ActiveX/COM (AutoItX)? | Русское сообщество AutoIt (http://autoit-script.ru/threads/chto-est-activex-com-autoitx.55/).
Думаю, Вам проще будет собрать исполняемый файл из .au3 и пользовать (разве что антивирусы могут возбуждаться на такую связку).
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.