Тема: AHK: Замена значений в Combobox
Здравствуйте!
В скрипте Autohotley (GUI) есть Combobox со значениями opera.exe, firefox.exe, chrome.exe, msedge.exe, iexplore.exe.
Как заменить эти значения на Opera, Mozilla Firefox, Google Chrome, Microsoft Edge, Internet Exprorer соответственно? Но так, чтобы скрипт продолжил их читать как opera.exe, firefox.exe, chrome.exe, msedge.exe, iexplore.exe.
Основной скрипт:
Run, chrome.exe "https://www.google.com/" --new-window
Sleep, 5000
MsgBox, 64, Program1, Program1 запущена!`nЗдесь вы сможете начать работу!
WinSet, AlwaysOnTop, , A
Return
Т.е. пользователь в Combobox выбирает Google Chrome, но скрипт должен распознавать это значение как chrome.exe.
Сам код формы для настройки скрипта:
#SingleInstance Force
#NoEnv
SetWorkingDir %A_ScriptDir%
ProgramName := "Program1"
ProgramName5 := "Рабочий сайт"
; Читаем настройки
GoSub ReadSettingsFromIni
MsgBox, 4, %ProgramName%, Вы хотите изменить настройки запуска? `n%ProgramName% пропустит этот шаг через несколько секунд..., 5
IfMsgBox Yes
{
GoSub ShowSettingsWindow
Return
}
else
; Тут или прошло пять секунд, или пользователь нажал Нет.
{
GoTo OnButtonRun
Return
}
; ===========================
; Конец секции автовыполнения
; Чтение настроек из .ini-файла в переменные
; ==========================================
ReadSettingsFromIni:
{
IniRead, Ed_App5, %A_ScriptDir%\..\AppLauncher.ini, Settings, AppToRun5, %A_Space%
IniRead, Ed_Browser, %A_ScriptDir%\..\AppLauncher.ini, Settings, Browser
Return
}
; Создание окна настроек
; ======================
ShowSettingsWindow:
{
Gui, New
Gui, Add, Text , XM+20 Y80 W90 R1, %ProgramName5%:
Gui, Add, Edit , X+10 YP W120 R1 vEd_App5, %Ed_App5%
Gui, Add, Button, X+0 YP W20 R1 vBt_App5 gOnButtonApp5, ...
Gui, Add, Text, XM+20 Y115 W90 R1, Рабочий браузер:
Gui, Add, Combobox, x+10 yp w120 r5 vEd_Browser, opera.exe|firefox.exe|chrome.exe|msedge.exe|iexplore.exe
Gui, Add, Button, XM Y200 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_App5% , %A_ScriptDir%\..\AppLauncher.ini, Settings, AppToRun5
IniWrite, %Ed_Browser%, %A_ScriptDir%\..\AppLauncher.ini, Settings, Browser
Sleep 100
Msgbox,, %ProgramName%, Настройки успешно сохранены!, 3
Return
}
OnButtonApp5:
{
MsgBox, 48, %ProgramName%, В это поле нужно вставить ссылку!, 5
Return
}
; Обработчик изменения значения Combobox для выбора браузера
Ed_Browser:
GuiControlGet, chosenBrowser
global Ed_Browser
Ed_Browser := chosenBrowser
Return
; При нажатии кнопки Start запускаем приложение с указанными в текстовых полях данными
OnButtonRun:
{
Gui, Submit
Gui, New
Gui, Font, s10
Gui, Add, Text, x10 y10 w128 h50 center, Выберите способ работы с документами:
Gui, Add, Picture, x10 y60 w128 h128 gA1, %A_ScriptDir%\..\Design\Ярлык для %ProgramName5%.png
Gui, Show, xCenter yCenter w148 h200, %ProgramName%
Return
}
A1:
if (Ed_Browser = "") {
MsgBox, 48, Ошибка, Не указан рабочий браузер!
Gui, Destroy
return
}
if (Ed_App5 = "")
{
Run, %Ed_Browser% "https://www.google.com/" --new-window
Sleep, 5000
MsgBox, 64, %ProgramName%, %ProgramName% запущена!`nЗдесь вы сможете начать работу!
WinSet, AlwaysOnTop, , A
Return
}
else
{
Run, %Ed_Browser% %Ed_App5% --new-window
Sleep, 5000
MsgBox, 64, %ProgramName%, %ProgramName% запущена!`nЗдесь вы сможете начать работу!
WinSet, AlwaysOnTop, , A
Return
}
; При нажатии Esc, закрытии окна или нажатии кнопки Exit скрипт завершается.
GuiClose:
GuiEscape:
OnButtonExit:
ExitApp