andry692
26-05-2014, 08:18
Добрый день! Подскажите как можно в autoit используя макрос @username (либо другой способ), вставить в поле "имя пользователя" залогиненного на ПК, в программу Spark.
Т.е другими словами, скрипт выполняет установку программы и прописывает после запуска имя залогиненного пользователя, в поле имя пользователя.
madmasles
27-05-2014, 09:50
andry692,
Вам надо определить с помощью AutoIt v3 Window Info окно (заголовок и, желательно, класс), нужный элемент управления и, далее, использовать функции WinWait() и ControlSetText().
andry692
27-05-2014, 12:43
madmasles, подскажите как это реализовать можно, запускаю:
run ("C:\Program Files\Spark\Spark.exe")
а дальше затрудняюсь(
madmasles, заголовок: Spark, класс: SunAwtFrame
madmasles
27-05-2014, 15:29
andry692,
На этом окне нет элементов управления, сейчас нет времени, если никто не поможет, то завтра утром напишу скрипт.
madmasles
28-05-2014, 09:55
andry692,
Попробуйте, у меня работает.Opt (http://autoit-script.ru/autoit3_docs/functions/Opt.htm)('MustDeclareVars', 1)
Local (http://www.autoitscript.com/autoit3/docs/keywords.htm#Local) $s_PathSpark = @ProgramFilesDir (http://autoit-script.ru/autoit3_docs/macros.htm#@programfilesdir) & '\Spark\Spark.exe', _; полный путь к Spark.exe
$s_User = @UserName (http://autoit-script.ru/autoit3_docs/macros.htm#@username), _; имя пользователя
$s_Password = 'password', _; пароль
$s_Server = 'server', _; сервер
$f_SavePassword = True (http://www.autoitscript.com/autoit3/docs/keywords.htm#True), _; сохранить пароль
$f_Auto = True (http://www.autoitscript.com/autoit3/docs/keywords.htm#True), _;автоматический вход
$f_Enter = True (http://www.autoitscript.com/autoit3/docs/keywords.htm#True); войти
Local (http://www.autoitscript.com/autoit3/docs/keywords.htm#Local) $i_Pid, $h_Spark, $a_Client, $a_SavePassword, $a_Auto, $a_Enter, $i_OptMCM, $i_OptPCM, $h_Error
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) StringRegExp (http://autoit-script.ru/autoit3_docs/functions/StringRegExp.htm)(FileGetVersion (http://autoit-script.ru/autoit3_docs/functions/FileGetVersion.htm)($s_PathSpark), '^2\.6\.3') Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
; у других версий цвет может быть другой
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) MsgBox (http://autoit-script.ru/autoit3_docs/functions/MsgBox.htm)(65, 'Info', 'Тестировалось только с версией 2.6.3' & @LF (http://autoit-script.ru/autoit3_docs/macros.htm#@lf) & 'OK - продолжить.') = 2 Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
$i_Pid = Run (http://autoit-script.ru/autoit3_docs/functions/Run.htm)($s_PathSpark)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) $i_Pid Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
ConsoleWrite (http://autoit-script.ru/autoit3_docs/functions/ConsoleWrite.htm)('Error Run Spark' & @LF (http://autoit-script.ru/autoit3_docs/macros.htm#@lf))
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit) 1
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
$h_Spark = WinWait (http://autoit-script.ru/autoit3_docs/functions/WinWait.htm)('[Title:Spark;Class:SunAwtFrame]', '', 3)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) $h_Spark Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
ConsoleWrite (http://autoit-script.ru/autoit3_docs/functions/ConsoleWrite.htm)('Error WinWait window Spark' & @LF (http://autoit-script.ru/autoit3_docs/macros.htm#@lf))
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit) 2
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
BlockInput (http://autoit-script.ru/autoit3_docs/functions/BlockInput.htm)(1)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) _WinActivateToSend($h_Spark) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
ConsoleWrite (http://autoit-script.ru/autoit3_docs/functions/ConsoleWrite.htm)('Error _WinActivateToSend window Spark' & @LF (http://autoit-script.ru/autoit3_docs/macros.htm#@lf))
BlockInput (http://autoit-script.ru/autoit3_docs/functions/BlockInput.htm)(0)
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit) 3
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Send (http://autoit-script.ru/autoit3_docs/functions/Send.htm)($s_User)
Send (http://autoit-script.ru/autoit3_docs/functions/Send.htm)(@TAB (http://autoit-script.ru/autoit3_docs/macros.htm#@tab))
Send (http://autoit-script.ru/autoit3_docs/functions/Send.htm)($s_Password)
Send (http://autoit-script.ru/autoit3_docs/functions/Send.htm)(@TAB (http://autoit-script.ru/autoit3_docs/macros.htm#@tab))
Send (http://autoit-script.ru/autoit3_docs/functions/Send.htm)($s_Server)
$a_Client = WinGetClientSize (http://autoit-script.ru/autoit3_docs/functions/WinGetClientSize.htm)($h_Spark)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) @error (http://autoit-script.ru/autoit3_docs/macros.htm#@error) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
ConsoleWrite (http://autoit-script.ru/autoit3_docs/functions/ConsoleWrite.htm)('Error WinGetClientSize window Spark' & @LF (http://autoit-script.ru/autoit3_docs/macros.htm#@lf))
BlockInput (http://autoit-script.ru/autoit3_docs/functions/BlockInput.htm)(0)
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit) 4
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
$i_OptMCM = Opt (http://autoit-script.ru/autoit3_docs/functions/Opt.htm)('MouseCoordMode', 2)
$i_OptPCM = Opt (http://autoit-script.ru/autoit3_docs/functions/Opt.htm)('PixelCoordMode', 2)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $f_SavePassword Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$a_SavePassword = PixelSearch (http://autoit-script.ru/autoit3_docs/functions/PixelSearch.htm)($a_Client[0] / 3, $a_Client[1] / 2, $a_Client[0], $a_Client[1], 0xF4F4F1, 0, 2, $h_Spark)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) @error (http://autoit-script.ru/autoit3_docs/macros.htm#@error) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
ConsoleWrite (http://autoit-script.ru/autoit3_docs/functions/ConsoleWrite.htm)('Error search сохранить пароль' & @LF (http://autoit-script.ru/autoit3_docs/macros.htm#@lf))
Else (http://www.autoitscript.com/autoit3/docs/keywords.htm#Else)
MouseMove (http://autoit-script.ru/autoit3_docs/functions/MouseMove.htm)($a_SavePassword[0], $a_SavePassword[1], 0); для отладки
;~ MouseClick('primary', $a_SavePassword[0], $a_SavePassword[1], 1, 0)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Sleep (http://autoit-script.ru/autoit3_docs/functions/Sleep.htm)(1000); для отладки
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $f_Auto Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$a_Auto = PixelSearch (http://autoit-script.ru/autoit3_docs/functions/PixelSearch.htm)($a_Client[0], $a_Client[1], $a_Client[0] / 3, $a_Client[1] / 2, 0xF4F4F1, 0, 2, $h_Spark)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) @error (http://autoit-script.ru/autoit3_docs/macros.htm#@error) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
ConsoleWrite (http://autoit-script.ru/autoit3_docs/functions/ConsoleWrite.htm)('Error search автоматический вход' & @LF (http://autoit-script.ru/autoit3_docs/macros.htm#@lf))
Else (http://www.autoitscript.com/autoit3/docs/keywords.htm#Else)
MouseMove (http://autoit-script.ru/autoit3_docs/functions/MouseMove.htm)($a_Auto[0], $a_Auto[1], 0); для отладки
;~ MouseClick('primary', $a_Auto[0], $a_Auto[1], 1, 0)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Sleep (http://autoit-script.ru/autoit3_docs/functions/Sleep.htm)(1000); для отладки
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $f_Enter Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$a_Enter = PixelSearch (http://autoit-script.ru/autoit3_docs/functions/PixelSearch.htm)($a_Client[0], $a_Client[1], $a_Client[0] / 5, $a_Client[1] / 5, 0x82CBDA, 0, 1, $h_Spark)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) @error (http://autoit-script.ru/autoit3_docs/macros.htm#@error) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
ConsoleWrite (http://autoit-script.ru/autoit3_docs/functions/ConsoleWrite.htm)('Error search войти' & @LF (http://autoit-script.ru/autoit3_docs/macros.htm#@lf))
Else (http://www.autoitscript.com/autoit3/docs/keywords.htm#Else)
MouseMove (http://autoit-script.ru/autoit3_docs/functions/MouseMove.htm)($a_Enter[0], $a_Enter[1], 0); для отладки
;~ MouseClick('primary', $a_Enter[0], $a_Enter[1], 1, 0)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
SendKeepActive (http://autoit-script.ru/autoit3_docs/functions/SendKeepActive.htm)('')
BlockInput (http://autoit-script.ru/autoit3_docs/functions/BlockInput.htm)(0)
Opt (http://autoit-script.ru/autoit3_docs/functions/Opt.htm)('MouseCoordMode', $i_OptMCM)
Opt (http://autoit-script.ru/autoit3_docs/functions/Opt.htm)('PixelCoordMode', $i_OptPCM)
$h_Error = WinWait (http://autoit-script.ru/autoit3_docs/functions/WinWait.htm)('[Title:Login error;Class:SunAwtDialog]', '', 5)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $h_Error Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
ConsoleWrite (http://autoit-script.ru/autoit3_docs/functions/ConsoleWrite.htm)('Error Can not connect' & @LF (http://autoit-script.ru/autoit3_docs/macros.htm#@lf))
WinClose (http://autoit-script.ru/autoit3_docs/functions/WinClose.htm)($h_Error)
WinClose (http://autoit-script.ru/autoit3_docs/functions/WinClose.htm)($h_Spark)
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit) 5
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Func (http://www.autoitscript.com/autoit3/docs/keywords.htm#Func) _WinActivateToSend(ByRef (http://www.autoitscript.com/autoit3/docs/keywords.htm#ByRef) $h_Wnd, $i_TimeOut = 3);3 sec
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) WinExists (http://autoit-script.ru/autoit3_docs/functions/WinExists.htm)($h_Wnd) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) Return (http://www.autoitscript.com/autoit3/docs/keywords.htm#Return) 0
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) WinActive (http://autoit-script.ru/autoit3_docs/functions/WinActive.htm)($h_Wnd) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) WinActivate (http://autoit-script.ru/autoit3_docs/functions/WinActivate.htm)($h_Wnd)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) WinWaitActive (http://autoit-script.ru/autoit3_docs/functions/WinWaitActive.htm)($h_Wnd, '', $i_TimeOut) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) Return (http://www.autoitscript.com/autoit3/docs/keywords.htm#Return) 0
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) SendKeepActive (http://autoit-script.ru/autoit3_docs/functions/SendKeepActive.htm)($h_Wnd) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) Return (http://www.autoitscript.com/autoit3/docs/keywords.htm#Return) 0
Return (http://www.autoitscript.com/autoit3/docs/keywords.htm#Return) 1
EndFunc (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndFunc) ;==>_WinActivateToSend
andry692
28-05-2014, 10:12
madmasles, большое спасибо! У меня работает тоже)
madmasles
28-05-2014, 10:26
andry692,
Я исправил код, в первом варианте ошибки были.
andry692
28-05-2014, 10:56
madmasles, а не могли бы скинуть посмотреть?
madmasles
28-05-2014, 11:01
а не могли бы скинуть посмотреть? »Что?
andry692
28-05-2014, 11:05
Я исправил код, в первом варианте ошибки были. »[/q]
madmasles
28-05-2014, 11:08
Здесь (http://forum.oszone.net/post-2356681.html#post2356681) уже исправленный код.
andry692
28-05-2014, 12:17
madmasles, да он работает, я просто подумал что вы его изменили :)
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.