1 (изменено: serzh82saratov, 2017-02-04 22:56:23)

Тема: AHK: Внешнее прерывание потока

По мотивам этого поста, хотелось бы узнать возможно ли установить такое прерывание планомерным.
Что то вроде таймера, который сообщает системе через какое время надо вызвать в скрипте определённую функцию.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

2 (изменено: stealzy, 2017-02-05 01:06:03)

Re: AHK: Внешнее прерывание потока

Второй скрипт, запущенный в .\pipe канале, отправляющий сообщение первому не подойдет?
Тут вроде сделали, но я не разбирался пока: https://autohotkey.com/board/topic/1044 … er-object/.
Пример на плюсах - http://www.cyberguru.ru/win32/windows-p … age11.html.

3

Re: AHK: Внешнее прерывание потока

Рабочий пример от Александр_:
http://forum.script-coding.com/viewtopi … 240#p61240

4

Re: AHK: Внешнее прерывание потока

Ближе к теме, но мало того что не прерывает поток меню, так ещё и сообщение при этом пропадает.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK: Внешнее прерывание потока

Так что ли?

DllCall("SetTimer", Ptr, A_ScriptHwnd, Ptr, id := 1, UInt, 300, Ptr, RegisterCallback("MyTimer", "Fast"))
OnExit(Func("Exit").Bind(A_ScriptHwnd, id))
Menu, MyMenu, Add, Item1, Dummy
Menu, MyMenu, Add, Item2, Dummy
Menu, MyMenu, Show
Dummy:
Return

MyTimer()  {
   static i := 0
   ToolTip % ++i
}

Exit(hwnd, id)  {
   DllCall("KillTimer", Ptr, hwnd, Ptr, id)
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Внешнее прерывание потока

Действительно, так проще !
Как я понимаю, проблема serzh82saratov в том, что autohotkey замораживает свои родные таймеры на время показа менюшек.

7

Re: AHK: Внешнее прерывание потока

Да, почему-то.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: Внешнее прерывание потока

Намеренно сделано, для возможности прибить из трея, я уверен.

9 (изменено: serzh82saratov, 2017-02-06 19:09:21)

Re: AHK: Внешнее прерывание потока

stealzy пишет:

Действительно, так проще !.

Проще чем что?

teadrinker
Спасибо, всё супер!

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

10 (изменено: belyankin12, 2017-07-23 23:10:48)

Re: AHK: Внешнее прерывание потока

Название темы вроде подходит, но содержимое нет. Ситуация такова: есть скрипт с кучей различных меток и команд с активацией на горячую клавишу. Нужно создать клавишу, при нажатии на которую все потоки скрипта автоматически прерываются. Как бы объяснить.. Вот например какая-нибудь команда в AHK выполняется пока не дойдет до return, а мне нужно создать клавишу, при нажатии на которую скрипт как-будто сразу доходил до return, не важно какую часть команды он выполнял при этом. Reload мне не подходит, можете что-нибудь подсказать?

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

11

Re: AHK: Внешнее прерывание потока

belyankin12 пишет:

Название темы вроде подходит, но содержимое нет

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui