<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Автоматический старт QUIK - это просто]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Автоматический старт QUIK - это просто форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 27 Jul 2026 01:43:42 +0300</pubDate>
		<item>
			<title>Автоматический старт QUIK - это просто</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message82963/topic9523/">Автоматический старт QUIK - это просто</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Спасибо за идею скрипта, творчески развил и адаптировал для варианта без модема (AutoIt, Chrome, Android).<br /><br /><ol><li>Нам потребуется телефон на Android с использованием <noindex><a href="https://play.google.com/store/apps/details?id=com.google.android.apps.messaging&amp;hl=ru" target="_blank" rel="nofollow">Google Сообщений</a></noindex> в качестве приложения по умолчанию для работы с SMS. Замечание для владельцев Samsung Galaxy ниже S25 - в более новых версиях в качестве &quot;умолчательного&quot; <noindex><a href="https://www.samsung.com/ru/support/mobile-devices/how-to-use-samsung-messages-on-s25-series/" target="_blank" rel="nofollow">уже используется именно оно</a></noindex>, для версий ниже - надо установить и переназначить.<br /><li>Идем на компе в Chrome на <noindex><a href="https://messages.google.com/web" target="_blank" rel="nofollow">web-версию Google Сообщения</a></noindex>, настраиваем связь с телефоном как там описано (вход в аккаунт Google и все такое). Если все сделано правильно, то должны увидеть на странице список своих чатов.<br /><li>Устанавливаем <noindex><a href="https://www.autoitscript.com/site/autoit/downloads/" target="_blank" rel="nofollow">AutoIt3</a></noindex> - достаточно <noindex><a href="https://www.autoitscript.com/files/autoit3/autoit-v3.zip" target="_blank" rel="nofollow">portable-версии</a></noindex>.<br /></ol>Выше - это обязательный перечень, остальные моменты можно настраивать под собственное удобство.<br />Все приведенные ниже файлы создаем в любом отдельном каталоге.
====code====
<pre>_login.au3: основной AutoIt-скрипт запуска</pre>
=============

====code====
<pre>; автозапуск QUIK с проходом двухфакторной авторизации
; проверено на Сбер 12.8.4.9

; читаем пароль из _quik.pwd рядом с .au3
$sPathPWD = @ScriptDir &#38; "&#92;_quik.pwd"
Local $sPWD = FileReadLine($sPathPWD)
If @error Then
&nbsp;&nbsp;MsgBox(16, "Ошибка", "Не удалось прочитать файл пароля: " &#38; $sPathPWD)
&nbsp;&nbsp;Exit
EndIf

; читаем путь до каталога QUIK из _quik.pth рядом с .au3
$sPathPth = @ScriptDir &#38; "&#92;_quik.pth"
; рабочая папка QUIK
Local $sPathQUIK_WD = FileReadLine($sPathPth)
If @error Then
&nbsp;&nbsp;MsgBox(16, "Ошибка", "Не удалось прочитать файл пути: " &#38; $sPathPth)
&nbsp;&nbsp;Exit
EndIf

; путь до самого QUIK (info.exe)
$sPathQUIK = $sPathQUIK_WD &#38; "&#92;info.exe"

; запускаем QUIK с ключом -clear
; для простоты предполагаем рабочей папкой ту, где находится сам info.exe
Run('"' &#38; $sPathQUIK &#38; '" -clear', $sPathQUIK_WD)
If @error Then
&nbsp;&nbsp;MsgBox(16, "Ошибка", "Не удалось запустить QUIK по пути: " &#38; $sPathQUIK)
&nbsp;&nbsp;Exit
EndIf

AutoItSetOption("SendKeyDelay", 100)

; бесконечный цикл, в котором мы проходим оба окна, как только они появляются
; защита от "разлогина" в ходе торговой сессии - по умолчанию выключена
;While True
&nbsp;&nbsp;; просто ждем 30 сек
&nbsp;&nbsp;Sleep(30000)

&nbsp;&nbsp;; до 30 сек ждем диалог авторизации с логин-паролем
&nbsp;&nbsp;Local $hWndPWD = WinWait("&#91;CLASS:#32770; TITLE:Вход в систему&#93;", "", 30)
&nbsp;&nbsp;If $hWndPWD Then
&nbsp;&nbsp;&nbsp;&nbsp;; ставим фокус на диалог
&nbsp;&nbsp;&nbsp;&nbsp;WinActivate($hWndPWD)
&nbsp;&nbsp;&nbsp;&nbsp;Sleep(500)

&nbsp;&nbsp;&nbsp;&nbsp;; отправляем пароль во 2-й EditBox (1-й - логин уже сохранен по умолчанию)
&nbsp;&nbsp;&nbsp;&nbsp;ControlSend($hWndPWD, "", "&#91;CLASS:Edit; INSTANCE:2&#93;", $sPWD)
&nbsp;&nbsp;&nbsp;&nbsp;Sleep(300)
&nbsp;&nbsp;&nbsp;&nbsp;ControlSend($hWndPWD, "", "", "{ENTER}")
&nbsp;&nbsp;EndIf

&nbsp;&nbsp;; до 30 сек ждем диалог ввода PIN
&nbsp;&nbsp;; если так и не появился, то двухфакторка уже принята "с прошлого раза"
&nbsp;&nbsp;Local $hWndPIN = WinWait("&#91;CLASS:#32770; TITLE:Двухфакторная аутентификация&#93;", "", 30)
&nbsp;&nbsp;If $hWndPIN Then
&nbsp;&nbsp;&nbsp;&nbsp;; запускаем страницу Google SMS в новом окне Chrome
&nbsp;&nbsp;&nbsp;&nbsp;Run(@ComSpec &#38; " /c start chrome --new-window https://messages.google.com/web/conversations")
&nbsp;&nbsp;&nbsp;&nbsp;; ждем появления окна с нужной вкладкой
&nbsp;&nbsp;&nbsp;&nbsp;Local $hWndChrome = WinWaitActive("&#91;REGEXPCLASS:Chrome;TITLE:Веб-версия Google Сообщений&#93;")

&nbsp;&nbsp;&nbsp;&nbsp;SendKeepActive($hWndChrome)
&nbsp;&nbsp;&nbsp;&nbsp;; вызываем консоль (DevTools)
&nbsp;&nbsp;&nbsp;&nbsp;Send("{F12}")
&nbsp;&nbsp;&nbsp;&nbsp;; ждем 10c, пока прогрузится список чатов
&nbsp;&nbsp;&nbsp;&nbsp;Sleep(10000)
&nbsp;&nbsp;&nbsp;&nbsp;; через консоль активируем первый чат (с большой вероятностью это нужный нам 900)
&nbsp;&nbsp;&nbsp;&nbsp;;;Send("$('NAV.conversation-list A').click(){ENTER}")
&nbsp;&nbsp;&nbsp;&nbsp;Send("$$('NAV.conversation-list A.list-item SPAN').find(span =&#62; span.innerText == '900').click(){ENTER}")
&nbsp;&nbsp;&nbsp;&nbsp;; ждем 10c, пока прогрузится список сообщений
&nbsp;&nbsp;&nbsp;&nbsp;Sleep(10000)
&nbsp;&nbsp;&nbsp;&nbsp;; берем текст последнего сообщения, вырезаем из него регуляркой PIN (5 цифр подряд) и копируем в буфер обмена
&nbsp;&nbsp;&nbsp;&nbsp;Send("copy($('DIV.content mws-message-wrapper&#91;is-last=""true""&#93;').innerText.match(/&#92;d{{}5{}}/)&#91;0&#93;){ENTER}")
&nbsp;&nbsp;&nbsp;&nbsp;Sleep(1000)

&nbsp;&nbsp;&nbsp;&nbsp;WinClose($hWndChrome)
&nbsp;&nbsp;&nbsp;&nbsp;WinWaitClose($hWndChrome)

&nbsp;&nbsp;&nbsp;&nbsp;; получаем PIN из буфера обмена
&nbsp;&nbsp;&nbsp;&nbsp;$sPIN = ClipGet()

&nbsp;&nbsp;&nbsp;&nbsp;WinActivate($hWndPIN)
&nbsp;&nbsp;&nbsp;&nbsp;Sleep(500)
&nbsp;&nbsp;&nbsp;&nbsp;; отправляем PIN в первое поле ввода
&nbsp;&nbsp;&nbsp;&nbsp;ControlSend($hWndPIN, "", "&#91;CLASS:Edit; INSTANCE:1&#93;", $sPIN)
&nbsp;&nbsp;&nbsp;&nbsp;Sleep(300)
&nbsp;&nbsp;&nbsp;&nbsp;ControlSend($hWndPIN, "", "", "{ENTER}")
&nbsp;&nbsp;EndIf
;Wend

Exit
</pre>
=============
<br />
====code====
<pre>_quik.pth: файл с путем до папки QUIK
</pre>
=============

====code====
<pre>C:&#92;QUIK_SBER</pre>
=============
<br />
====code====
<pre>_quik.pwd: файл с паролем</pre>
=============

====code====
<pre>12345678</pre>
=============
<br />
====code====
<pre>ai-login.bat: файл для запуска в планировщике задач</pre>
=============

====code====
<pre>cd /d "%~dp0"
C:&#92;#AUTOIT&#92;AutoIt3.exe&nbsp;&nbsp;_login.au3</pre>
=============
Находим через &quot;Пуск&quot; &quot;Планировщик задач&quot;, в нем &quot;Создать простую задачу&quot; - и назначаем ai-login.bat на запуск каждый день в 6:45 - перед аукционом открытия.<br /><br />
====code====
<pre>_logout.au3: AutoIt-скрипт завершения торговой сессии</pre>
=============

====code====
<pre>; закрываем окно QUIK, если оно существовало
WinClose("&#91;CLASS:InfoClass; REGEXPTITLE:QUIK&#93;")
Exit</pre>
=============
<br />
====code====
<pre>ai-logout.bat: файл для запуска в планировщике задач</pre>
=============

====code====
<pre>cd /d "%~dp0"
C:&#92;#AUTOIT&#92;AutoIt3.exe&nbsp;&nbsp;_logout.au3</pre>
=============
Аналогично назначаем ai-logout.bat на запуск каждый день в 23:55.<br /><br /><br />Собственно, все! <br />
			<i>26.07.2026 11:58:28, Kilor.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message82963/topic9523/</link>
			<guid>http://forum.quik.ru/messages/forum17/message82963/topic9523/</guid>
			<pubDate>Sun, 26 Jul 2026 11:58:28 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Автоматический старт QUIK - это просто</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message82033/topic9523/">Автоматический старт QUIK - это просто</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Автоматическая двухфакторная аутентификация.<br />--------------------------<br />Привожу скрипт , который вводит пароль и код из файлов.
====code====
<pre>; Скрипт автоматического ввода пароля и кода для QUIK
; автор nikolz
; Версия: 3.2 (рабочий поиск окон + правильный запуск)
; --- Настройки ---
$sQuikPath = "C:&#92;QUIK6&#92;info.exe"
$sQuikWorkingDir = "C:&#92;QUIK6"&nbsp;&nbsp;; Рабочая папка (обычно там же, где info.exe)
$sPasswordFile = @ScriptDir &#38; "&#92;password.txt"
$sCodeFile = @ScriptDir &#38; "&#92;code.txt"
; --- Чтение пароля из файла ---
Local $sPassword = FileReadLine($sPasswordFile)
If @error Then
&nbsp;&nbsp;&nbsp;&nbsp;MsgBox(16, "Ошибка", "Не удалось прочитать файл пароля: " &#38; $sPasswordFile)
&nbsp;&nbsp;&nbsp;&nbsp;Exit
EndIf
; --- Чтение кода из файла ---
Local $sCode = FileReadLine($sCodeFile)
If @error Then
&nbsp;&nbsp;&nbsp;&nbsp;MsgBox(16, "Ошибка", "Не удалось прочитать файл с кодом: " &#38; $sCodeFile)
&nbsp;&nbsp;&nbsp;&nbsp;Exit
EndIf
; --- Запуск QUIK с ключом -clear ---
Run('"' &#38; $sQuikPath &#38; '" -clear', $sQuikWorkingDir)
If @error Then
&nbsp;&nbsp;&nbsp;&nbsp;MsgBox(16, "Ошибка", "Не удалось запустить QUIK по пути: " &#38; $sQuikPath)
&nbsp;&nbsp;&nbsp;&nbsp;Exit
EndIf
; --- Ожидание первого окна (ввод пароля) ---
; ИСПОЛЬЗУЕМ ТОЧНО ТАКОЙ ЖЕ ПОИСК, КАК В РАБОЧЕМ СКРИПТЕ
Local $hFirstWindow = WinWait("&#91;CLASS:#32770; TITLE:Идентификация пользователя&#93;", "", 1000)
If Not $hFirstWindow Then
&nbsp;&nbsp;&nbsp;&nbsp;MsgBox(16, "Ошибка", "Окно ввода пароля не появилось в течение 30 секунд.")
&nbsp;&nbsp;&nbsp;&nbsp;Exit
EndIf
; Активируем окно
WinActivate($hFirstWindow)
Sleep(500)
; --- Ввод пароля ---
; ИСПОЛЬЗУЕМ ТОТ ЖЕ INSTANCE:2, КОТОРЫЙ РАБОТАЛ
ControlSend($hFirstWindow, "", "&#91;CLASS:Edit; INSTANCE:2&#93;", $sPassword)
Sleep(300)
ControlSend($hFirstWindow, "", "", "{ENTER}")
; --- Ожидание второго окна (ввод кода) ---
Local $hSecondWindow = WinWait("&#91;CLASS:#32770; TITLE:Двухфакторная аутентификация&#93;", "", 30)
If Not $hSecondWindow Then
&nbsp;&nbsp;&nbsp;&nbsp;MsgBox(16, "Ошибка", "Окно ввода кода не появилось в течение 30 секунд.")
&nbsp;&nbsp;&nbsp;&nbsp;Exit
EndIf
WinActivate($hSecondWindow)
Sleep(500)
; --- Ввод кода ---
ControlSend($hSecondWindow, "", "&#91;CLASS:Edit; INSTANCE:1&#93;", $sCode)
Sleep(300)
ControlSend($hSecondWindow, "", "", "{ENTER}")
Exit</pre>
=============
Для дальнейшей автоматизации необходимо подключить к ПК GSM модем, либо передать в файл код, полученный на смартфоне.<br />---------------------<br />Для этой задачи собрал GSM модуль из трех деталей:<br /> адаптер USB-UART, модуль SIM800L и корпус 50мм x 25мм x 11мм. <br />В режиме ожидания модуль потребляет &nbsp;всего 1 мА. <br />-------------------<br />Приложение для работы с модулем написал на Lua. <br />
			<i>18.03.2026 12:03:19, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message82033/topic9523/</link>
			<guid>http://forum.quik.ru/messages/forum17/message82033/topic9523/</guid>
			<pubDate>Wed, 18 Mar 2026 12:03:19 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Автоматический старт QUIK - это просто</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message81998/topic9523/">Автоматический старт QUIK - это просто</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Добрый день,<br />Если Вам надоело каждый раз при старте квик вручную вводить пароль <br />и код со смартфона , то расскажу, как делать &nbsp;это автоматически.<br />------------------------<br />Самое простое - это ввод пароля.<br />для этого использую вот такой простой скрипт на AutoIt.
====code====
<pre>; Скрипт автоматического ввода пароля для QUIK
; автор nikolz
; --- Настройки ---
$sQuikPath = "C:&#92;QUIK&#92;info.exe"
$sQuikWorkingDir = "C:&#92;QUIK"&nbsp;&nbsp;; Рабочая папка (обычно там же, где info.exe)
$sPasswordFile = @ScriptDir &#38; "&#92;password.txt"
; --- Чтение пароля из файла ---
Local $sPassword = FileReadLine($sPasswordFile)
If @error Then
&nbsp;&nbsp;&nbsp;&nbsp;MsgBox(16, "Ошибка", "Не удалось прочитать файл пароля: " &#38; $sPasswordFile) 
&nbsp;&nbsp;&nbsp;&nbsp;Exit
EndIf

; --- Запуск QUIK с правильной рабочей папкой и с ключом -clear ---
Run('"' &#38; $sQuikPath &#38; '" -clear', $sQuikWorkingDir)

If @error Then
&nbsp;&nbsp;&nbsp;&nbsp;MsgBox(16, "Ошибка", "Не удалось запустить QUIK по пути: " &#38; $sQuikPath)
&nbsp;&nbsp;&nbsp;&nbsp;Exit
EndIf

; --- Ожидание первого окна (ввод пароля) ---
Local $hFirstWindow = WinWait("&#91;CLASS:#32770; TITLE:Идентификация пользователя&#93;", "", 1000)
If Not $hFirstWindow Then
&nbsp;&nbsp;&nbsp;&nbsp;MsgBox(16, "Ошибка", "Окно ввода пароля не появилось в течение 1000 секунд.")
&nbsp;&nbsp;&nbsp;&nbsp;Exit
EndIf

; Активируем окно
WinActivate($hFirstWindow)
Sleep(500)

; --- Ввод пароля ---
ControlSend($hFirstWindow, "", "&#91;CLASS:Edit; INSTANCE:2&#93;", $sPassword)
Sleep(300)
ControlSend($hFirstWindow, "", "", "{ENTER}")
Exit
</pre>
=============
Для его работы надо установить AutoIt<br />и создать файл &quot;password.txt&quot; с паролем в каталоге скрипта .<br />------------------------<br />Могу выложить выложить exe файл, который не требует установки AutoIt, если надо. &nbsp;<br />Но решил, что скрипт нагляднее.<br />-------------------------<br />Продолжение следует... <br />
			<i>14.03.2026 09:30:21, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message81998/topic9523/</link>
			<guid>http://forum.quik.ru/messages/forum17/message81998/topic9523/</guid>
			<pubDate>Sat, 14 Mar 2026 09:30:21 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
	</channel>
</rss>
