Тема: AHK: первый показ msgbox
Здравствуйте. Как сделать так чтоб при первом включении скрипта показывался msgbox , а при выполнении команды reload этот msgbox не выскакивал как при первом запуске? Есть ли возможность это реализовать?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте. Как сделать так чтоб при первом включении скрипта показывался msgbox , а при выполнении команды reload этот msgbox не выскакивал как при первом запуске? Есть ли возможность это реализовать?
Возможность такая есть, на форуме искать надо.
Например в этом посте.
То как показано в этом посте не работает , все равно выскакивает msgbox при выполнении команды reload.
Сергей Ачкасов, потеряли точку в конце предложения.
Вы серьезно? Нет бы помочь , мы про точку в конце предложения разговор ведем. Я понимаю , что грамотно нужно писать , можно было бы в одно сообщение как то и помочь и обратить внимание на эту точку...
Я понимаю , что это сто процентов легко сделать, просто не могу найти команду для этого , нигде не написано.
Вы серьезно?
А вы? Вам же уже вроде было сделано замечание. Повторно нарушая правила, вы демонстрируете неуважение к форуму. Если хотите получать помощь в дальнейшем, пожалуйста, будьте внимательнее.
при выполнении команды reload
Вам не обязательно перезагружать скрипт именно командой reload. Просто перезапускайте скрипт с параметром, как показано в примере, а в начале скрипта проверяйте, был ли передан параметр, в зависимости от этого выполняйте дальнейшие действия.
Я так понимаю, параметр не был передан, т.к. создается снова начальный msgbox.
Вобщем, не работает этот пример , создает msgbox всегда в начале, и при первом включении, и при перезапуске.
В смысле не работает? Покажите, как запускаете.
Вобщем взял за основу код из того поста:
#SingleInstance Off
SetTitleMatchMode, 2
DetectHiddenWindows, On
if A_Args[1]
MsgBox, 64, Готово, Script запущен!
else {
WinGet, list, List, %A_ScriptName% ahk_class AutoHotkey
found := false
Loop % list
continue
until list%A_Index% != A_ScriptHwnd && found := true
if !found
MsgBox, 64, Готово, Script запущен!
else {
MsgBox, 48, Перезапуск, Выполняется перезапуск Script. Программа будет открыта через несколько секунд..., 2
Run, % A_ScriptFullPath . " 1"
ExitApp
}
}
^2::
reload
return
При включении скрипта он выдает msgbox: "Готово, Script запущен!", и так же при перезагрузке скрипта он выдает тоже самое, как будто код был вот таким:
msgbox, 64, Готово, Script запущен!
^2::
reload
return
Также я сделал второй вариант, который работает как надо , но только двумя ахк-скриптами.
Первый:
Gui, color, FFEBCD
Gui, Font, S8 С8B4513, Verdana
Gui, Font, S20 с8B4513, Verdana
Gui, Add, Button, x132 y249 w200 h80 gctrlevent vbotton1, Понял, принял
Gui, Font, S20 C8B4513, Verdana
Gui, Add, Text, x62 y29 w350 h100 , Добро пожаловать в мой скрипт`, справкка открывается на клавишу
Gui, Font, S20 C006400, Verdana
Gui, Add, Text, x192 y149 w80 h30 , Insert
; Generated using SmartGUI Creator 4.0
Gui, Show, x603 y184 h379 w479, " "
ctrlevent(ctrlhwnd:=0, guievent:="", eventinfo:="") {
Gui, Button:
gui, Destroy
guiclose:
run %a_workingdir%/ahk.ahk
exitapp
}
return
^2::
reload
return
Он запускает интерфейс в котором просто текст и кнопка выключения его самого и перехода во второй скрипт. Главный вопрос в том как мне сделать не два таких скрипта, а все в одном? По итогу из отправленного поста ничего не сработало , ни один из вариантов.
в начале скрипта проверяйте, был ли передан параметр, в зависимости от этого выполняйте дальнейшие действия
#SingleInstance Force
if !A_Args[1] {
MsgBox Скрипт запущен первый раз
}
Gui, Show, w300 h300
return
GuiClose() {
ExitApp
}
^2:: Run, %A_ScriptFullPath% param
Есть, спасибо, сработало!
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться