Function Reference


Loads/Sets a specified tray icon.

TraySetIcon ( [filename [, iconID]] )


filename [optional] The filename of the icon to be display in the tray.
iconID [optional] Icon identifier if the file contains multiple icons.

Return Value



To reset the icon to the default, use the function with no parameters TraySetIcon().

Passing a positive number will reference the string equivalent icon name.
Passing a negative number causes 1-based "index" behaviour. Some Dll can have icon extracted just with negative numbers.

The filename parameter can be set to "blank", "info", "question", "stop" or "warning" to select some corresponding standard icon.


TraySetPauseIcon, TraySetState


#include <TrayConstants.au3> ; Required for the $TRAY_ICONSTATE_SHOW constant.

Opt("TrayMenuMode", 3) ; The default tray menu items will not be shown and items are not checked when selected. These are options 1 and 2 for TrayMenuMode.


Func Example()
        Local $idExit = TrayCreateItem("Exit")

        TraySetState($TRAY_ICONSTATE_SHOW) ; Show the tray menu.

        Local $hTimer = TimerInit() ; Begin the timer and store the handle in a variable.
        Local $fDiff = 0, $iIndex = 0

        While 1
                $fDiff = TimerDiff($hTimer) ; Find the difference in time from the previous call of TimerInit
                If $fDiff > 1000 Then ; If the difference is greater than 1 second then change the tray menu icon.

                        $iIndex = -Random(0, 100, 1) ; Use a negative number for ordinal numbering.
                        TraySetToolTip("Currently using the icon shell32.dll, " & $iIndex & ".") ; Set the tray menu tooltip with information about the icon index.
                        TraySetIcon("shell32.dll", $iIndex) ; Set the tray menu icon using the shell32.dll and the random index number.
                        $hTimer = TimerInit() ; Reset the timer.


                Switch TrayGetMsg()
                        Case $idExit ; Exit the loop.
EndFunc   ;==>Example