Что нового

Работа с треем

zelich

Новичок
Сообщения
150
Репутация
0
Доброго времени суток,

Есть написанній мной скриптикс рядом мелких утилит, для ускорения однотипных действий (последовательных нажатий и т.п.)
Хочу сделать, чтоб нажимая ПКМ на иконку выводился такой список:
2025-09-29_19h35_48.png
И уже при выборе Радио1 или Радио2 или Радио3 - выполнялась та или иная функция
Как это можно сделать?
(пишу е в стол заказов т.к. хочу понять и написать сам)
Сообщение автоматически объединено:

Я вот так сделал:
Код:
#NoTrayIcon
#include <Constants.au3>
#include <Misc.au3>
#include <GuiConstants.au3>
#include <WinAPISys.au3>
#include <WindowsConstants.au3>
TraySetToolTip('Photoshop_29-09')

HotKeySet('+{Esc}', '_Exit')

HotKeySet('{F7}', '_Select')

Opt("TrayMenuMode", 1 + 2) ; Не отображать в трее пункты меню по умолчанию (Script Paused/Exit) и не отмечать галочками при выборе.
;~ TraySetState(16) ; Показывает меню трея- Отпусканием вторичной кнопки мыши

$iRadio1 = TrayCreateItem("PDF", -1, -1, 1)
TrayItemSetState(-1, $TRAY_CHECKED)
$iRadio2 = TrayCreateItem("JPG", -1, -1, 1)

TrayCreateItem("") ; Создаёт разделитель
Local $Rememb = TrayCreateItem("Напоминание")
Local $iExit = TrayCreateItem("Выход")
$t = 0

TraySetState(1) ; Показывает меню трея

While 1
    Sleep(10)
       Switch TrayGetMsg()
        Case $iExit ; Выход
            ExitLoop
        Case $Rememb ; Напоминание
            Remember()
    EndSwitch
WEnd

Func Remember() ;
   MsgBox(4096, "Напоминание:", "PDF"&@CRLF&"JPG", 10)
EndFunc

Func _Select()
   If TrayItemGetState($iRadio1)=65 Then
      Send("{DOWN}");
      Beep(250,250);
      SavePDF()
   EndIf
   If TrayItemGetState($iRadio2)=65 Then
      Send("{UP}");
      Beep(500,250);
      SaveJPG()
   EndIf
EndFunc

Func SavePDF()
   $bPos = MouseGetPos()
   MouseMove($bPos[0],300,1)
   Send("{TAB}")
   Send("{DOWN}")
   Send("{DOWN 9}")
   Send("{ENTER}")
   Send("+{TAB}")
   Send("+{Insert}")
EndFunc

Func SaveJPG()
   $bPos = MouseGetPos()
   MouseMove($bPos[0],300,1)
   Send("{TAB}")
   Send("{DOWN}")
   Send("{DOWN 14}")
   Send("{ENTER}")
   Send("+{TAB}")
   Send("+{Insert}")
EndFunc


Func _Exit()
    Exit
 EndFunc

Сообщение автоматически объединено:

Как можно упростить?
Сообщение автоматически объединено:

+ Не могу разобратся с "Chekbox"
2025-09-29_22h31_24.png
Сообщение автоматически объединено:

Раобрался
 
Последнее редактирование:
Верх