1

Тема: AHK: Поставить скрипт на паузу из другого скрипта

Здравствуйте, у меня есть 5 скриптов, которые необходимо ставить на паузу одним хоткеем и возобновлять другим, в связи с этим есть несколько вопросов:
1. Есть ли в AHK команда по типу Pause[путь к скрипту] выполняемая из стороннего скрипта?
2. Можно ли в AHK объявлять переменные общие для нескольких скриптов?

я попробовал реализовать через запись/чтение из файла но ничего не работает

создаём запись "stp" в ini.ini нажатием Home и удаляем нажатием End (тут всё работает)


vk24::
FileDelete, C:\ahkmacros\ini.ini
FileAppend, stp, C:\ahkmacros\ini.ini
Return

vk23::
FileDelete, C:\ahkmacros\ini.ini
FileAppend, , C:\ahkmacros\ini.ini
Return

А вот тут где-то ошибка


Loop
{
Pp := "ini.ini"
if Pp = stp
Pause, On
Else
{
Pause, Off
;различные действия
}
}

2

Re: AHK: Поставить скрипт на паузу из другого скрипта

Почему бы не сделать из пяти скриптов один?

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

3

Re: AHK: Поставить скрипт на паузу из другого скрипта

Alectric
В каждом циклы, которые должны работать параллельно.

4

Re: AHK: Поставить скрипт на паузу из другого скрипта

Как поставить на паузу я разобрался


Loop
{
;различные действия
FileReadLine, Pp, C:\ahkmacros\ini.ini, 1
if Pp = stp
Pause, On
}

а вот как потом возобновить работу скриптов хз.

5 (изменено: Alectric, 2017-12-07 18:43:54)

Re: AHK: Поставить скрипт на паузу из другого скрипта

Loop
{
  FileReadLine, Pp, C:\ahkmacros\ini.ini, 1
  if Pp = stp
  {
    sleep,100
    continue
  }
  ;различные действия
}

solitarydemiurg пишет:

В каждом циклы, которые должны работать параллельно.

Можно осуществить псевдо-параллельную работу скриптов в одном.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

6

Re: AHK: Поставить скрипт на паузу из другого скрипта

Alectric
Ваша конструкция то же только останавливает, но не возобновляет при нажатии End

7

Re: AHK: Поставить скрипт на паузу из другого скрипта

Alectric пишет:
solitarydemiurg пишет:

В каждом циклы, которые должны работать параллельно.

Можно осуществить псевдо-параллельную работу скриптов в одном.

SetTimer? в моём случае не вариант.

8 (изменено: Alectric, 2017-12-07 18:44:45)

Re: AHK: Поставить скрипт на паузу из другого скрипта

Я не вижу твой код чтобы сказать что это не вариант.

solitarydemiurg пишет:

но не возобновляет при нажатии End

Значит текст в файле не изменяется по нажатию End. Попробуй использовать iniRead, iniWrite.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

9

Re: AHK: Поставить скрипт на паузу из другого скрипта

Alectric
текст не просто изменяется, файл удаляется и создаётся снова пустым, это работает на 100%, я это вижу открывая файл.

10

Re: AHK: Поставить скрипт на паузу из другого скрипта

Я корректировал свой вариант, попробуй еще раз.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

11

Re: AHK: Поставить скрипт на паузу из другого скрипта

Alectric

я для проверки работы написал


Loop
{
	FileReadLine, Pp, C:\ahkmacros\ini.ini, 1	
	if Pp = stp
	{
		sleep, 100
		continue
	}
	Gui, Destroy
	Gui, +AlwaysOnTop +ToolWindow -Caption +LastFound
	Gui,  -SysMenu
	WinSet, TransColor, 000000
	Gui, color, 000000
	Gui, Add, Picture, x0 y0 , C:\Ddd\on.png
	Gui, Show, NoActivate x3770 y0
}

просто мигает картинкой в уголке экрана если скрипт активен.
нажимаю Home и картинка перестаёт мигать, т.е. скрипт выполняется в последний раз и окошко не разрушается, нажимаю End, проверяю что ini.ini пустой, но скрипт не возобновляется.

12

Re: AHK: Поставить скрипт на паузу из другого скрипта

Я нашёл проблему, файл нельзя оставлять пустым, обязательно нужно что-то записывать.

13 (изменено: Alectric, 2017-12-07 19:37:20)

Re: AHK: Поставить скрипт на паузу из другого скрипта

Alectric пишет:

Попробуй использовать iniRead, iniWrite.

http://www.script-coding.com/AutoHotkey/IniRead.html
http://www.script-coding.com/AutoHotkey/IniWrite.html

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

14

Re: AHK: Поставить скрипт на паузу из другого скрипта

solitarydemiurg, исправьте сообщения, в которых не хватает заглавных букв и точек!