1 (изменено: Immelstrong, 2024-05-30 02:04:00)

Тема: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

Всем доброго времени суток.
Есть простейший AHK скрипт скомпилированный в .exe.
При запуске он появляется в трее.
Можно ли как-то написать отдельный скрипт открывающий и закрывающий это мини приложение.
Или ставит на паузу и потом снимает с паузы.
Лучше всего, по какой нибудь одной кнопке, но можно 2мя разными одна запускает, другая закрывает его из трея.

код самого приложения выглядит так


$1:: Send "~1{Space}"
$2:: Send "~2{Space}"
$3:: Send "~3{Space}"
$4:: Send "~4{Space}"
$5:: Send "~5{Space}"
$6:: Send "~6{Space}"
$7:: Send "~7{Space}"

Называется "Прыгалка.exe"

P.S. Сам я в этом только начинаю разбираться, помогите кому не сложно... Уровень моего кодинга можно увидеть на коде выше.:-)


P.S.S. Только что пришла мысль. А ведь не обязательно же открывать закрывать весь скрипт, можно же его дополнить наверное как-то. Что бы при нажатии "f11" выполнялся мой код, а при повторном нажатии (или нажатии "f12")он не выполнялся.

2

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

Immelstrong, добро пожаловать на форум! Ознакомьтесь, пожалуйста, с Правилами, отредактируйте свой пост. Обратите внимание на составление заголовков и оформление кода.
Неизвестные exe-файлы умный человек запускать не будет.

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

3

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

А зачем отдельный скрипт для этого? И что вы имеете в виду под "ставит на паузу и потом снимает с паузы"? Скрипт с горячими клавишами нет смысла ставить на паузу, от этого ничего не изменится, горячие клавиши всё равно будут работать.

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

4 (изменено: Immelstrong, 2024-05-30 00:40:47)

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

teadrinker
Там в трее когда ПКМ жмешь на него, есть пункт поставить на паузу.

Ну хотя да. Проверил. Думал ставит на паузу и не работает, оказалось что это работает не так.)))

И подскажите пожалуйста, мне кажется или знак "~" в моем скрипте лишний?

Post's attachments

Безымянный.jpg
Безымянный.jpg 7.08 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

5 (изменено: Immelstrong, 2024-05-30 00:48:15)

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

teadrinker
Вот нашел что то похожее:
//forum.script-coding.com/viewtopic.php?id=17011
Только там переключается у него между разными действиями, а мне  нужно что б включалось/отключалось.

6

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

Immelstrong пишет:

знак "~" в моем скрипте лишний?

Не знаю, зависит от того, что хотите отправить.

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

7

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

Ещё непонятно, какую всё-таки версию AHK используете.

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

8

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

teadrinker
Игра.
На цифрах скилы.
При их нажатии нужно прыгать.
Я и совместил цифры с пробелами.
Но при первых попытках написания - скрипт уходил в бесконечное нажимание самого себя.
Т.е.при нажатии 1 нажимается одновременно 1+пробел, а 1 у нас триггерит скрипт и т.д.
Поэтому в результате активного загугливания, нашел знак доллара и ~.
Применил оба, что б скрипт не уходил в бесконечный цикл.

9

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

teadrinker
Этот скрипт писал в АHКv2

10

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

teadrinker
В результате ночных поисков нашел вот такое половинчатое решение:


Loop {
$1:: Send "~1{Space}"
$2:: Send "~2{Space}"
$3:: Send "~3{Space}"
$4:: Send "~4{Space}"
$5:: Send "~5{Space}"
$6:: Send "~6{Space}"
$7:: Send "~7{Space}"
}
f12:: 
ExitApp 
return 

Это наглухо закрывает скрипт.
В принципе для самого минимума хватит мне, но нашел я еще такой кусок кода:


```autohotkey 
f12:: 
Pause, Toggle 
return 
``` 

Который, по идее должен ставить все на паузу, а потом запускать по новой.
Но вот только куда его применить не понимаю.
Либо пауза не работает на то подобие скрипта, что я написал.

P.S. А этот код распознается как принадлежащий к АНКv1.

11

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

Immelstrong пишет:

нашел вот такое половинчатое решение

Пока что выглядит странно. Что именно вы пытаетесь зациклить в Loop? Определения горячих клавиш в AHK v2 — это функции, зацикливать их не имеет смысла, они считываются только один раз.

Immelstrong пишет:
f12:: 
ExitApp 
return

А такой код вообще не запустится в v2. Так я так и не понял, какую версию вы собираетесь использовать.

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

12

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

teadrinker
Мне абсолютно без разницы какая версия. Лишь бы работала.))
Вот кусок кода из сообщения выше, с завершением скрипта, при попытке скомпилировать в .exe пришлось выбирать AHKv1.
А сами горячие клавиши скомпилировались в.exe в версии AHKv2.
Так что я абсолютно не привязан к версии.

Итак, если Loop не нужен то код должен выглядеть так???


$1:: Send "~1{Space}"
$2:: Send "~2{Space}"
$3:: Send "~3{Space}"
$4:: Send "~4{Space}"
$5:: Send "~5{Space}"
$6:: Send "~6{Space}"
$7:: Send "~7{Space}"
f12:: 
ExitApp 
 

Это закрывает скрипт.

А есть ли вариант как сделать вот так:


Нажал f12 и стали активными горячие клавиши ниже.
$1:: Send "~1{Space}"
$2:: Send "~2{Space}"
$3:: Send "~3{Space}"
$4:: Send "~4{Space}"
$5:: Send "~5{Space}"
$6:: Send "~6{Space}"
$7:: Send "~7{Space}"
Потом нажал
f12:: и горячие клавиши не работают
return

 

13

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

В общем.
Путем всенощных бдений и активного загугливания появился некий рабочий конструкт.
Создал отдельный скрипт:

 f10:: Run, name.exe 

Он, по итогу, запускается вручную и висит в трее постоянно.

И теперь по клавише f10 запускается скрипт с горячими клавишами:


$1:: Send "~1{Space}" как оказалось "~" тут абсолютно лишняя.)))
$2:: Send "~2{Space}"
$3:: Send "~3{Space}"
$4:: Send "~4{Space}"
$5:: Send "~5{Space}"
$6:: Send "~6{Space}"
$7:: Send "~7{Space}"
f12:: 
ExitApp 

Который выполняет нужные мне функции, а по нажатию f12 скрипт просто завершает свое действие.

Т.е. получился некий франкенштейн из 2х скриптов, собственно те действия, ради чего я на этот форум и попал, они выполняют.)))
Просто думается мне, что это все можно реализовать и в одном скрипте, но как, я пока не понимаю.

Мб у кого-то есть мысли как это сделать, поделитесь.)))

P.S.
Версия по итогу оказалась AHKv1. )))))

14 (изменено: __Михаил__, 2024-05-30 19:11:00)

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

Immelstrong1

Если нужно в один скрипт, попробуйте этот код:

SW := 0
Return

F10::  ; Включение / Выключение перехвата клавиш.
SW := !SW
Loop, 7
 Hotkey, % "$" A_Index, Sender, % (SW ? "On" : "Off")
MsgBox,,, % "Клавиши: " (SW ? "Вк" : "Вык") "лючены.", 1
Return

Sender:
Send, % SubStr(A_ThisHotkey, 2) A_Space
Return
Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

15 (изменено: Immelstrong1, 2024-05-31 02:03:16)

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

__Михаил__
Великолепно, все работает.
Но есть одно большое НО...
При нажатии на ф10 выскакивает окошко с информацией - кнопки включены "ок"/ кнопки выключены "ок"
А это ж для игры, и соответственно окно игры сворачивается...
Есть какой-то способ убрать это оповещение о вкл/выкл?


P.S. Разобрался))

P.P.S. Огромнейшее большущее спасибо.)))

16

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

Immelstrong1
Конечно, нет никакого способа! А если чуть-чуть мозг включить?

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

17 (изменено: Immelstrong1, 2024-05-31 02:40:41)

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

teadrinker
Человек, я включаю мозг как могу.
Уровень моего понимания того, что тут вообще происходит, можно отследить прочитав эту тему.
Поэтому то что вам понятно и видно с первого взгляда - для меня наитемнейший лес.
Если можете ткните носом - вот это, делает вот так и вот так, а это нужно для того и для того.
Если не хотите/не можете так и скажите - иди ищи в другом месте.

Я допустим только что выяснил что мой последний скрипт пересобранный в АНК~1 работает не так как изначально задумывалось.


То есть, получается что:

$1:: Send "~1{Space}"

в АНК~2  не равно:

$1:: Send "~1{Space}"

в АНК~1



Или там оказывает влияние функция

f12:: 
ExitApp 

Или еще что-то происходит.



Суть в том, что при запуске скрипта скомпилированного в АНК~1 у меня помимо заявленных клавиш, прожимается еще что-то, что меняет мне панели в игре.
При запуске скрипта скомпилированного в АНК~2  (изначальных моих горячих клавиш) все работает без нареканий.

Так что если не сложно, помогите/объясните, если нет - скажите, пойду искать в другом месте.



P.S. Ладно, с выпадающим окошком разобрался. Но мог бы просто сказать что способ есть.

18

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

В v1 Send "~1{Space}" отправит строку с кавычками, так как там эта команда отправляет буквальную строку, в v2 отправляет выражение, там строки должны быть в кавычках, и отправляется содержание кавычек.
Предпочтительнее использовать v2, там везде одинаковый синтаксис, а в v1 нужно помнить, где буквальная строка, а где выражение, в разных случаях по-разному.
Но в обоих случаях в справке всё объясняется и есть примеры.

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

19

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

teadrinker
Вон оно что, кавычки значит, что по сути шифт+2.
Тогда все сходится, именно поэтому у меня все и переключалось в игре.
Спасибо за помощь и информацию.

В справке то конечно есть, но очень сложно воспринимается, к тому же там абстрактные примеры, а мне надо какое то конкретное действие, не умею пока соотносить.))
Либо мы о разных справках говорим.))
Если не сложно киньте ссылку.

Так а если кавычки убрать, это будет работать в v1? Или там вообще все по другому менять надо, как в коде что Михаил прислал?

20

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

Я имею в виду официальную справку.
Последний вопрос не понял. Что «это»? То, что работает в одной версии, скорее всего не будет работать в другой.

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

21

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

teadrinker
Ну просто команда:

 $1:: Send "~1{Space}" 

работает и там и там, только по разному.
Точнее, если в версии v2, как я понял, без кавычек оно вообще работать не будет, то в версии v1 кавычки - лишь дополнительный символ для отправки.


Добрался до компа, проверил.
AHKv1
Если убрать кавычки в

 
$1:: Send "1{Space}" 
$2:: Send "2{Space}"
....
f12:: 
ExitApp 

То есть, сделать что б он выглядел вот так:

 
$1:: Send 1{Space} 
$2:: Send 2{Space}
....
f12:: 
ExitApp 

То все так же работает, но уже не переключает мне панели "кавычами".
Собственно вопрос в этом и заключался - будет ли вообще работать если убрать кавычки.

P.S. Я примерно представляю, как со стороны выглядят мои рассуждения и "великие", для меня, открытия, так что спасибо за помощь и терпение.)) Хорошего вам настроения.)))

22

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

Immelstrong1
Зачем компилировать скрипт в *.exe и тем более AHK v2? Лучше скрипт использовать - в онлайн играх за AHK могут забанить. Например в PUBG LITE такое было.

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

23

Re: АНК и/или АНКv2: Открыть/закрыть (пуск/пауза) скрипта на F12.

__Михаил__
А я только так умею.))) я по другому не знаю как.
Да и к тому же играю на пиратке ВоВ, вряд ли они настолько прошаренные.)))