Что нового

Свои параметры в треи на значке и запуск функций в зависимости что выбрано в этом меню

river01

Новичок
Сообщения
6
Репутация
0
Здравствуйте, не могу понять как сделать следующий скрипт, при нажатии на кнопку мыши в треи по программе, в меню 2 пункта, режим 1 и режим 2
Бинд на кнопку F5, но чтобы кнопка вызывала функцию только если выбран режим 1, а если выбран режим 2 то кнопка F5 не работает,пробовал привязывать переменные, но ничего не вышло

Код:
#RequireAdmin
$pinfo2=false
$pinfo=false
Opt("TrayMenuMode", 1) ; Не отображать в трее пункты меню по умолчанию (Script Paused/Exit) и не отмечать галочками при выборе.
Opt("TrayOnEventMode", 1) ; Включает режим TrayOnEventMode.

TrayCreateItem("режим 1")
TrayItemSetOnEvent(2, "_Info")

TrayCreateItem("") ; Создаёт разделитель

TrayCreateItem("режим 2")
TrayItemSetOnEvent(1, "_Info2")

TrayCreateItem("") ; Создаёт разделитель

TrayCreateItem("Выход")
TrayItemSetOnEvent(-1, "_Exit")

TraySetState(1) ; Показывает меню трея
#RequireAdmin
HotKeySet("+{F5}", "_Info3")

While 1
    Sleep(1000) ; Бездействующий цикл
WEnd

Func _Info()
    $pinfo2=false
    $pinfo=true
    $aRet= $pinfo2 & '|' & $pinfo
    Return $aRet
EndFunc

Func _Info2()
    $pinfo=false
    $pinfo2=true
    $aRet= $pinfo2 & '|' & $pinfo
    Return $aRet
EndFunc

Func _Info3()
    if $pinfo Then
    MsgBox(4096, "Информация", "Демонстрация режима OnEvent для трея")
    ElseIf $pinfo2 Then
    MsgBox(4096, "Информация 2", "Демонстрация режима OnEvent для трея 2")
    Else
    MsgBox(4096, "Информация 3", "фиг")
    EndIf
EndFunc

Func _Exit()
    Exit
EndFunc


так же пытался к меню привязать GUI чтобы вызывать настройки и в них выбирать режим, а уже кнопка F5 так же работала только если выбран режим 1, но GUI вообще не удалось создать если создавались настройки для трея
Подскажите как это можно сделать, если не сложно то в какой-то просто примере
 

IMStrelcov

CTPEJIbLLOB
Сообщения
259
Репутация
66
Здравствуйте, не могу понять как сделать следующий скрипт, при нажатии на кнопку мыши в треи по программе, в меню 2 пункта, режим 1 и режим 2
Бинд на кнопку F5, но чтобы кнопка вызывала функцию только если выбран режим 1, а если выбран режим 2 то кнопка F5 не работает,пробовал привязывать переменные, но ничего не вышло

Код:
#RequireAdmin
$pinfo2=false
$pinfo=false
Opt("TrayMenuMode", 1) ; Не отображать в трее пункты меню по умолчанию (Script Paused/Exit) и не отмечать галочками при выборе.
Opt("TrayOnEventMode", 1) ; Включает режим TrayOnEventMode.

TrayCreateItem("режим 1")
TrayItemSetOnEvent(2, "_Info")

TrayCreateItem("") ; Создаёт разделитель

TrayCreateItem("режим 2")
TrayItemSetOnEvent(1, "_Info2")

TrayCreateItem("") ; Создаёт разделитель

TrayCreateItem("Выход")
TrayItemSetOnEvent(-1, "_Exit")

TraySetState(1) ; Показывает меню трея
#RequireAdmin
HotKeySet("+{F5}", "_Info3")

While 1
    Sleep(1000) ; Бездействующий цикл
WEnd

Func _Info()
    $pinfo2=false
    $pinfo=true
    $aRet= $pinfo2 & '|' & $pinfo
    Return $aRet
EndFunc

Func _Info2()
    $pinfo=false
    $pinfo2=true
    $aRet= $pinfo2 & '|' & $pinfo
    Return $aRet
EndFunc

Func _Info3()
    if $pinfo Then
    MsgBox(4096, "Информация", "Демонстрация режима OnEvent для трея")
    ElseIf $pinfo2 Then
    MsgBox(4096, "Информация 2", "Демонстрация режима OnEvent для трея 2")
    Else
    MsgBox(4096, "Информация 3", "фиг")
    EndIf
EndFunc

Func _Exit()
    Exit
EndFunc


так же пытался к меню привязать GUI чтобы вызывать настройки и в них выбирать режим, а уже кнопка F5 так же работала только если выбран режим 1, но GUI вообще не удалось создать если создавались настройки для трея
Подскажите как это можно сделать, если не сложно то в какой-то просто примере
пробуй так:
Код:
#RequireAdmin
$pinfo2=false
$pinfo=false
Opt("TrayMenuMode", 1) ; Не отображать в трее пункты меню по умолчанию (Script Paused/Exit) и не отмечать галочками при выборе.
Opt("TrayOnEventMode", 1) ; Включает режим TrayOnEventMode.

$Tray1 = TrayCreateItem("режим 1")
TrayItemSetOnEvent(2, "_Info")

TrayCreateItem("") ; Создаёт разделитель

$Tray2 = TrayCreateItem("режим 2")
TrayItemSetOnEvent(1, "_Info2")

TrayCreateItem("") ; Создаёт разделитель

TrayCreateItem("Выход")
TrayItemSetOnEvent(-1, "_Exit")

TraySetState(1) ; Показывает меню трея
#RequireAdmin
HotKeySet("+{F5}", "_Info3")

While 1
    Sleep(1000) ; Бездействующий цикл
WEnd

Func _Info()
    $pinfo2=false
    $pinfo=true
    $aRet= $pinfo2 & '|' & $pinfo
    Return $aRet
EndFunc

Func _Info2()
    $pinfo=false
    $pinfo2=true
    $aRet= $pinfo2 & '|' & $pinfo
    Return $aRet
EndFunc

Func _Info3()
   If BitAND(TrayItemGetState($Tray2), 1) Then
      MsgBox(4096, "Информация 2", "Демонстрация режима OnEvent для трея 2")
   ElseIf BitAND(TrayItemGetState($Tray1), 1) Then
      MsgBox(4096, "Информация", "Демонстрация режима OnEvent для трея")
   Else
      MsgBox(4096, "Информация 3", "фиг")
   EndIf
EndFunc

Func _Exit()
    Exit
EndFunc

переменные:
Код:
$pinfo2
$pinfo

можешь удалить, если они нужны были только для костыля.
 
Верх