Internal not official solution
Code: Select all
Procedure SysTrayIconID(SysTrayIcon)
Protected *object
*object = IsSysTrayIcon(SysTrayIcon)
If *object
ProcedureReturn PeekI(*object)
Else
ProcedureReturn 0
EndIf
EndProcedure
Code: Select all
Procedure SysTrayIconID(SysTrayIcon)
Protected *object
*object = IsSysTrayIcon(SysTrayIcon)
If *object
ProcedureReturn PeekI(*object)
Else
ProcedureReturn 0
EndIf
EndProcedure
Code: Select all
Procedure SysTrayIconID(SysTrayIcon)
Protected *object
*object = IsSysTrayIcon(SysTrayIcon)
If *object
ProcedureReturn PeekI(*object)
Else
ProcedureReturn 0
EndIf
EndProcedure
OpenWindow(0, 100, 150, 300, 100, "PureBasic - SysTray Example", #PB_Window_SystemMenu)
IconName$ = #PB_Compiler_Home + "examples/sources/Data/CdPlayer.ico"
AddSysTrayIcon(1, WindowID(0), LoadImage(0, IconName$))
AddSysTrayIcon(2, WindowID(0), LoadImage(1, IconName$))
SysTrayIconToolTip(1, "Icon 1")
SysTrayIconToolTip(2, "Icon 2")
Debug SysTrayIconID(1)
Debug SysTrayIconID(2)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_SysTray
If EventType() = #PB_EventType_LeftDoubleClick
MessageRequester("SysTray", "Left DoubleClick on SysTrayIcon "+Str(EventGadget()),0)
ChangeSysTrayIcon (EventGadget(), LoadImage(0, IconName$))
SysTrayIconToolTip(EventGadget(), "Changed !")
EndIf
EndIf
Until Event = #PB_Event_CloseWindow