Sign in to follow this  
Followers 0
guydol

Solving the Tray problem

5 posts in this topic

I have this little code that repeats every x min but i would like an option in the tray menu so i can skip the waiting time and call the function directly. But i have no clue on how to approach this.

Any help is very welcome. Thank you.

Opt("TrayMenuMode",1)
Global $ini = "config.ini"
$delay = IniRead($ini,"CommonOptions","delay",5)
$delay = $delay*60000

While 1
start()
Sleep($delay)
WEnd

Func ExitEvent()
Exit
EndFunc

Share this post


Link to post
Share on other sites



guydol,

I would do it like this: ;)

#include <Constants.au3>

Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1) ; <<<<<<<<<<<<<<<<<<<

HotKeySet("{ESC}", "ExitEvent")

TraySetOnEvent($TRAY_EVENT_PRIMARYUP, "Start") ; <<<<<<<<<<<<<<<<<<<

Global $ini = "config.ini"
$delay = IniRead($ini, "CommonOptions", "delay", 5)
$delay = $delay * 1000 ; Just for testing

While 1
    start()
    Sleep($delay)
WEnd

Func start()
    MsgBox(0, "Hi", "Started")
EndFunc

Func ExitEvent()
    Exit
EndFunc   ;==>ExitEvent

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

guydol,

Another possible solution (...bowing to M23...)

#include <Constants.au3>
#include <date.au3>
#NoTrayIcon
Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 1)
Local $exit =  TrayCreateItem("Exit")
    TrayItemSetOnEvent(-1, "_Exit")
Local $manual = TrayCreateItem("Manual Run")
    TrayItemSetOnEvent(-1, "_Manual")
    TraySetState()
$wait_time = 5000
While 1
    Sleep($wait_time)
 _Timed()
WEnd
Exit
Func _Manual()
 ConsoleWrite('Manual run at - ' & _now() & @lf)
 TrayItemSetState($manual,$tray_unchecked)
endfunc
Func _Timed()
 ConsoleWrite('Timed  run at - ' & _now() & @lf)
endfunc
Func _Exit()
    Exit
EndFunc

Incidentally, I noticed that if the tray icon is clicked the script appears to stop until a tray item is selected.

kylomas


Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Share this post


Link to post
Share on other sites

kylomas,

You are quite correct. Tray (and GUI) menus are modal and halt script execution until a selection is made or the menu cancelled. ;)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Both Melba23 and Kylomas thank you verry much you really helped me out. And I understand the code :)

Guy

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0