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. |
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
#NoTrayIcon
#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.
Example()
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.
EndIf
Switch TrayGetMsg()
Case $idExit ; Exit the loop.
ExitLoop
EndSwitch
WEnd
EndFunc ;==>Example