При выборе "Нет" на стартовом Msgbox скрипт сразу запускается со сохраненными настройками.
И тут ошибка - при выборе "Нет" скрипт не читает настройки, сохраненные ранее в AppLauncher.ini. Вместо запуска скрипта сразу выскакивает ошибка "Вы не выбрали расположение рабочего браузера" (как если бы браузер не был выбран ранее при первоначальной настройке). Хотя в AppLauncher.ini расположение сохранено. В чем может быть проблема?
Code: Select all
#SingleInstance Force
#NoEnv
SetWorkingDir %A_ScriptDir%
ProgramName := "Программа1"
; Читаем настройки
GoSub ReadSettingsFromIni
MsgBox, 4, %ProgramName%, Вы хотите изменить настройки запуска? `n%ProgramName% пропустит этот шаг через несколько секунд..., 5
IfMsgBox Yes
{
GoSub ShowSettingsWindow
Return
}
else
; Тут или прошло пять секунд, или пользователь нажал Нет.
{
GoTo OnButtonRun
Return
}
; ===========================
; Конец секции автовыполнения
; Чтение настроек из .ini-файла в переменные
; ==========================================
ReadSettingsFromIni:
{
IniRead, viUser, %A_ScriptDir%\..\AppLauncher.ini, Settings, Username, Пользователь Windows
IniRead, viPass, %A_ScriptDir%\..\AppLauncher.ini, Settings, Password, 0000
IniRead, viApp0, %A_ScriptDir%\..\AppLauncher.ini, Settings, AppToRun0, %A_Space%
Return
}
; Создание окна настроек
; ======================
ShowSettingsWindow:
{
Gui, New
Gui, Add, Text , XM YM W60 R1, Уч. запись:
Gui, Add, Edit , X+10 YP W200 R1 vEd_User, %viUser%
Gui, Add, Text , XM Y+M W60 R1, Пароль:
Gui, Add, Edit , X+10 YP W200 R1 Password vEd_Pass, %viPass%
Gui, Add, Text , XM Y+M W60 R1, Браузер:
Gui, Add, Edit , X+10 YP W180 R1 vEd_App0, %viApp0%
Gui, Add, Button, X+0 YP W20 R1 vBt_App0 gOnButtonApp0, ...
Gui, Add, Button, XM Y+M W270 R3 vBt_Run gOnButtonRun , Начать работу
Gui, Add, Button, XM Y+M W130 R1 vBt_Save gOnButtonSave, Сохранить
Gui, Add, Button, X+10 YP W130 R1 vBt_Exit gOnButtonExit, Выйти
Gui, Show,, %ProgramName%
Return
}
; При нажатии Save значения из текстовых полей сохраняются в файл настроек AppLauncher.ini
OnButtonSave:
{
Gui, Submit, NoHide
IniWrite, %Ed_User%, %A_ScriptDir%\..\AppLauncher.ini, Settings, Username
IniWrite, %Ed_Pass%, %A_ScriptDir%\..\AppLauncher.ini, Settings, Password
IniWrite, %Ed_App0% , %A_ScriptDir%\..\AppLauncher.ini, Settings, AppToRun0
Sleep 1000
Msgbox,, %ProgramName%, Настройки успешно сохранены!, 5
Return
}
; При нажатии кнопки с многоточием открываем окно выбора файла
OnButtonApp0:
{
FileSelectFile, vOutFile, % 1|2|32, %A_ScriptDir%, Выберите расположение рабочего браузера..., Application (*.exe)
If (ErrorLevel == 0)
GuiControl, Text, Ed_App0, %vOutFile%
Return
}
; При нажатии кнопки Start запускаем приложение с указанными в текстовых полях данными
OnButtonRun:
Gui, Submit
if (Ed_App0 = "")
{
MsgBox, 16, %ProgramName%, Вы не выбрали расположение рабочего браузера. `nДля начала работы с браузером измените настройки запуска %ProgramName%, 5
return
}
RunAs, %Ed_User%, %Ed_Pass%
Run %Ed_App0%
Sleep, 5000
MsgBox, 64, %ProgramName%, %ProgramName% запущена! `nЗдесь вы сможете начать работу, 5
Return
Return
; При нажатии Esc, закрытии окна или нажатии кнопки Exit скрипт завершается.
GuiClose:
GuiEscape:
OnButtonExit:
ExitApp