1

Тема: AHK v2: Аналог Menu, Tray, Click

Не найду в v2 в документации аналог Menu, Tray, Click
Может не так искал, подскажите.
Или вообще не пытаться кодить на v2, а остаться на старом добром v1?

2

Re: AHK v2: Аналог Menu, Tray, Click

А аналог чего именно вы ищете? Не совсем понял. Разве в v1 есть Menu, Tray, Click?

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

3

Re: AHK v2: Аналог Menu, Tray, Click

На клик по иконке в трее программа показывается/скрывается

Показать:
IfWinExist, %Title% 
	Gui, Destroy
Menu, Tray, Tip, %Title%
Menu, Tray, NoStandard
Menu, Tray, add, Показать
Menu, Tray, Default, Показать
Menu, Tray, add, Выход
Menu, Tray, Click, 1

Как аналогично сделать в v2?

4

Re: AHK v2: Аналог Menu, Tray, Click

Так, как у вас написано, не стоит делать ни во второй, ни даже в первой версии. Вы при каждом выполнении метки зачем-то пересоздаёте меню заново. Достаточно создать меню один раз. Но я не вижу здесь показа/скрытия какой-либо программы, вижу только закрытие GUI. Приведите код, по которому можно понять, чего именно вы хотите, или поясните более внятно на словах.

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

5

Re: AHK v2: Аналог Menu, Tray, Click

Заходите в справку:
https://www.autohotkey.com/docs/v1/lib/Menu.htm
Нажимаете сверху V1, меняете на V2.
На странице ищете слово Click.

Zohann пишет:

Или вообще не пытаться кодить на v2, а остаться на старом добром v1?

Если времени девать некуда, то можете поизучать, хотя я бы лучше потратил его на более перспективные ЯП.

6

Re: AHK v2: Аналог Menu, Tray, Click

Malcev пишет:

более перспективные ЯП

Какую перспективу ты имеешь в виду?

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

7 (изменено: Malcev, 2025-11-01 17:42:40)

Re: AHK v2: Аналог Menu, Tray, Click

Языки, которые пользуются спросом, разумеется.
Например: Python, typesript.
А переходить на ahk v2 с ahk v1 - это шило на мыло.

8

Re: AHK v2: Аналог Menu, Tray, Click

Спросом у кого? У работодателей? Не думаю, что ТС собирается получать заказы. AHK несоизмеримо проще, чем то, что ты упомянул. А я, как человек, изучивший v2, заверяю, что времени на это уходит немного, если хорошо знать v1, а писать на нём в разы быстрее, и, главное, приятнее.

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

9

Re: AHK v2: Аналог Menu, Tray, Click

AHK - это cmd, каким он должен бы быть, но каким он не есть. Перспектива - распространение на другие платформы. V2 лучше V1 хотя бы меньшим количеством запятых, от которых рябит в глазах. От фигурных скобок тоже рябит в глазах, в V3 их уберут, надеюсь ))

10 (изменено: Malcev, 2025-11-01 21:07:33)

Re: AHK v2: Аналог Menu, Tray, Click

teadrinker пишет:

писать на нём в разы быстрее, и, главное, приятнее.

Тут уже дело вкуса. Я хоть и не более десятка написал  - кайфа не получил.
И в разы быстрее - это ты уже загнул.

teadrinker пишет:

AHK несоизмеримо проще, чем то, что ты упомянул

С нынешним уровнем chat gpt не совсем проще.
Он на пайтоне скрипт набросает и разъяснит быстрее, чем кто-либо напишет такой же на ahk.

haridev пишет:

От фигурных скобок тоже рябит в глазах, в V3 их уберут, надеюсь

Ну не знаю, тут бы хватило мотивации у lexikos v2.1 закончить...

11

Re: AHK v2: Аналог Menu, Tray, Click

Malcev пишет:

Я хоть и не более десятка написал  - кайфа не получил.
И в разы быстрее - это ты уже загнул

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

Malcev пишет:

С нынешним уровнем chat gpt не совсем проще.
Он на пайтоне скрипт набросает и разъяснит быстрее, чем кто-либо напишет такой же на ahk.

Ну, вот, например, приемлемый уровень?

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

12

Re: AHK v2: Аналог Menu, Tray, Click

haridev пишет:

AHK - это cmd, каким он должен бы быть, но каким он не есть.

Вот странная мысль. Разве в cmd есть работа с окнами, горячими клавишами? Или классы?

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

13

Re: AHK v2: Аналог Menu, Tray, Click

Может, имеется в виду powershell?

teadrinker пишет:

Ну, вот, например, приемлемый уровень?

Приемлимый.
Я не совсем в теме, но предполагаю, что на пайтоне уже написаны готовые библиотеки для этого.
Ну и подобное можно написать и на ahk v1, зная winapi и понимая алгоритмы.

14

Re: AHK v2: Аналог Menu, Tray, Click

teadrinker
Так нету. И в Python вроде нет работы с окнами и горячих клавиш. Я о том, что у AHK есть конкретное предназначение, функционал, отсутствующий в других языках.

15 (изменено: Malcev, 2025-11-02 11:16:21)

Re: AHK v2: Аналог Menu, Tray, Click

Ошибаетесь, в пайтон есть все, что есть в автохотки и много чего еще. Единственное, в чем ahk не превзойти, так это в скорости и надежности переназначении клавиш. Хотя и тут можно постараться приблизиться.

16

Re: AHK v2: Аналог Menu, Tray, Click

Malcev
Не знал. С пайтоном знаком по учебнику для начинающих.

17 (изменено: Zohann, 2025-11-13 08:15:06)

Re: AHK v2: Аналог Menu, Tray, Click

teadrinker пишет:

Так, как у вас написано, не стоит делать ни во второй, ни даже в первой версии. Вы при каждом выполнении метки зачем-то пересоздаёте меню заново. Достаточно создать меню один раз. Но я не вижу здесь показа/скрытия какой-либо программы, вижу только закрытие GUI. Приведите код, по которому можно понять, чего именно вы хотите, или поясните более внятно на словах.

Добро, переписал. Клик по иконке скрипта в трее показывает/скрывает окно программы (Gui). Хочу аналогично сделать в v2. Возможно ли?

Title = Connect
Menu, Tray, Tip, %Title%
Menu, Tray, NoStandard
Menu, Tray, add, Показать
Menu, Tray, Default, Показать
Menu, Tray, add, Выход
Menu, Tray, Click, 1	
; ********************************		
Gui, -Resize ToolWindow +AlwaysOnTop	
Gui, Add, Button, x5 y5 w60 gПоказать, Hide
Gui, Show, x100 y100, %Title%
Return
; ********************************	
Показать:
	IfWinExist, %Title% 
		Gui Hide
	else
		Gui Show
Return
; ********************************	
Выход:
	ExitApp

А по сути оффтопа по поводу AHK - согласен на 100% с ув. teadrinker.
Добавлю, что такого низкого порога вхождения нет ни у одного языка программирования.
В своей нише у него нет равных.

18

Re: AHK v2: Аналог Menu, Tray, Click

А этот код разве запускается? У меня выдаёт ошибку.
Должно быть примерно так:

#Requires AutoHotkey v2
Persistent

guiTitle := 'Заголовок окна'
wnd := CreateGui(guiTitle)
CreateTrayMenu(guiTitle, wnd)

CreateGui(title) {
    wnd := Gui('ToolWindow AlwaysOnTop', title)
    wnd.OnEvent('Close', ShowHideGui)
    wnd.AddButton('w200', 'Скрыть').OnEvent('Click', ShowHideGui.Bind(wnd))
    wnd.Show('x100 y100')
    return wnd
}

CreateTrayMenu(title, gui) {
    A_TrayMenu.Delete()
    A_IconTip := title
    A_TrayMenu.Add('Скрыть', ShowHideGui.Bind(gui))
    A_TrayMenu.Add('Выход', (*) => ExitApp())
    A_TrayMenu.Default := '1&'
    A_TrayMenu.ClickCount := 1
}

ShowHideGui(gui, *) {
    WinExist('ahk_id ' . gui.hwnd) ? (gui.Hide(), A_TrayMenu.Rename('Скрыть', 'Показать'))
                                   : (gui.Show(), A_TrayMenu.Rename('Показать', 'Скрыть'))
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

19

Re: AHK v2: Аналог Menu, Tray, Click

teadrinker
Прекрасно работает! Продолжу изучать v2 значит)
Почему же я нигде не нашел, что у ClickCount есть событие нажатия, все доки и форумы перерыл - нету. Либо не так искал.
Свой код поправил, теперь должен работать.