1 (изменено: SeaVodikendu, 2016-05-13 09:57:31)

Тема: AHK: Добавление в скрипт Menu

Здравствуйте.
Помогите разобраться как правильно добавить в скрипт Menu, Tray.


#Persistent 
Menu, tray, add 
Menu, tray, add, Пункт1, MenuHandler
return

MenuHandler:
MsgBox Вы выбрали %A_ThisMenuItem% из меню %A_ThisMenu%.
return 

Msgbox, Hi

По идее должно при запуске скрипта показывать Msgbox с "Hi".
А Menu блокирует все что прописано после него.

2 (изменено: mafckz, 2016-05-13 10:17:45)

Re: AHK: Добавление в скрипт Menu

Menu не блокирует. Команда return прерывает текущий поток. Просто уберите ее после команд Menu, и будет выполняться код ниже.

3 (изменено: yalanne, 2016-05-13 10:40:57)

Re: AHK: Добавление в скрипт Menu

+ Вариант 1. перенести до первого прерывания нужную строку.
#Persistent 
Menu, tray, add 
Menu, tray, add, Пункт1, MenuHandler
Msgbox, Hi ; перенести сюда то что должно быть при запуске скрипта.
return

MenuHandler:
MsgBox Вы выбрали %A_ThisMenuItem% из меню %A_ThisMenu%.
return 
+ Вариант 2. переходить по метке. Goto\Gosub.
#Persistent 
Menu, tray, add 
Menu, tray, add, Пункт1, MenuHandler
Goto next ; Создать метку перехода.
return

MenuHandler:
MsgBox Вы выбрали %A_ThisMenuItem% из меню %A_ThisMenu%.
return 


next: 
Msgbox, Hi
+ Вариант 3. Вместо метки для меню можно использовать функцию, она не прерывает поток.
#Persistent 
Menu, tray, add 
Menu, tray, add, Пункт1, MenuHandler

MenuHandler(ItemName, ItemPos, MenuName) ; указываем просто как функцию.
{
; ItemName, ItemPos, MenuName - можно задать свои имена для этих переменных. они содержат то же самое что и 
; A_ThisMenuItem, A_ThisMenuItemPos,A_ThisMenu
MsgBox Вы выбрали %A_ThisMenuItem% из меню %A_ThisMenu%.
}

Msgbox, Hi

4

Re: AHK: Добавление в скрипт Menu

Спасибо.

5

Re: AHK: Добавление в скрипт Menu

#Persistent 
Menu, tray, add 
Menu, tray, add, Пункт1, MenuHandler

MenuHandler(ItemName, ItemPos, MenuName)
{
MsgBox %verk%
}

Msgbox, Hi

verk := wqerty

Почему не читает переменную "verk"?

6

Re: AHK: Добавление в скрипт Menu

#Persistent 
Menu, tray, add 
Menu, tray, add, Пункт1, MenuHandler

MenuHandler(ItemName, ItemPos, MenuName)
{
	Global
MsgBox %verk%
}

Msgbox, Hi

verk := "wqerty"

Надо что бы функция была глобальная и текст в переменной был в кавычках.

7

Re: AHK: Добавление в скрипт Menu

Понял, спасибо.