1

Тема: AHK: Проблема с закрытием Gui

Всем привет. Мне нужно что бы когда переменная GE = 1, скрипт закрывался. А если 0 то удалялось только Gui. Помогите пожалуйста найти ошибку в скрипте.

GE = 1
M::
Gui Show, w186 h84, Window
Return

GuiEscape:
If (GE = 1)
{
ExitApp
}
if (GE = 0)
{
Gui Destroy
}
return

2

Re: AHK: Проблема с закрытием Gui

Да вроде всё работает как нужно, не пойму что у вас там не хочет.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3

Re: AHK: Проблема с закрытием Gui

__Михаил__
Вот и я не понимаю в чём проблема.

4 (изменено: Lolykroly, 2021-02-09 00:18:33)

Re: AHK: Проблема с закрытием Gui

GE = 1
M::
Gui, Add, Button, gZakrit w186 h84, Закрыть
Gui Show, w186 h84, Window

Return

GuiEscape:
Zakrit:
If (GE = 1)
{
ExitApp
GE = 0
}
else if (GE = 0)
{
Gui, Hide
GE = 1
}
return

На какие действия должна меняться переменная?
Переменная GE со старта равна 1, т.е. скрипт должен открываться и сразу закрываться?)

5

Re: AHK: Проблема с закрытием Gui

Встречный вопрос: Как можно изменить содержаение файла скрипта в определённой секции по тексту или ключу пока он еще не скомпилирован? Чтобы в след.раз при открытии переменные были иными чем при первом запуске?
А то все ini файлами пользуются но это так неудобно

6 (изменено: __Михаил__, 2021-02-09 01:36:16)

Re: AHK: Проблема с закрытием Gui

Что такое Секция авто-выполнения читали?
С чего скрипт должен сразу открыться и закрыться? Он переменную прочитал но не выполнил так как 'Return' прервал выполнение следующих строк, в том числе и 'GuiEscape, Zakrit'.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

7

Re: AHK: Проблема с закрытием Gui

__Михаил__ пишет:

Что такое Секция авто-выполнения читали?
С чего скрипт должен сразу открыться и закрыться? Он переменную прочитал но не выполнил так как 'Return' прервал выполнение следующих строк, в том числе и 'GuiEscape, Zakrit'.

Всё это хорошо. Мы можем потратить годы, на изучение своих возможностей, но так и не начать ими пользоваться.

8

Re: AHK: Проблема с закрытием Gui

В чём проблема тогда? Не понимаю сути. Программа работает как нужно - после запуска переменная 'GE' объявлена и равна 1, указан перехват клавиши M, назначена метка GuiEscape и Zakrit, которые будут выполняться только по условию их вызова.
По нажатию 'M' - происходит запуск Gui окна, которое можно закрыть как минимум 4 способами:
-Esc - закрывает окно и следовательно вызывая 'GuiEscape', согласно переменной 'GE=1' вырубает скрипт.
-Кнопка 'Закрыть' в окне - аналогично, запуск метки 'Zakrit' приведёт к закрытию.
-Крестик или Alt + F4 (стандарт) - не приведут к выходу программы, так как не запускают метку выхода.

Главная причина - 'ExitApp' полный выход из программы.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

9

Re: AHK: Проблема с закрытием Gui

__Михаил__ пишет:

В чём проблема тогда?

У меня нет проблем) Это у автора темы проблемы.

10 (изменено: Vsevolod, 2021-02-09 08:48:13)

Re: AHK: Проблема с закрытием Gui

__Михаил__
Всё, я понял что нужно сделать

GE = 1
M::
Gui Show, w186 h84, Window
Return

GuiEscape:
GuiClose:
If (GE = 1)
{
ExitApp
}
if (GE = 0)
{
Gui Destroy
}
return

11

Re: AHK: Проблема с закрытием Gui

Lolykroly

Это сообщение как раз автору темы.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101