$System = CreateObject("Kixtart.System")
$Form1 = $System.Form()
$Form1.Resizable = 0
$Form1.MaximizeBox = 0
$Form1.OnClose = "Closing()"
$Form1.Menu = $System.MainMenu()
$Form1.Menu.Style = 0
$Form1.Menu.ImageList = $System.BuiltinImageList()
$Form1.FileMenu = $Form1.Menu.MenuItems.Add("File")
$Form1.TrayMenu = $Form1.FileMenu.MenuItems.Add("Minimize to Tray")
$Form1.TrayMenu.ImageIndex = 65
$Form1.TrayMenu.OnClick = "SetTray()"
$Form1.CloseMenu = $Form1.FileMenu.MenuItems.Add("Close")
$Form1.CloseMenu.ImageIndex = 9
$Form1.CloseMenu.OnClick = "Closing()"
$NotifyMenu = $System.ContextMenu()
$NotifyMenuClose = $NotifyMenu.MenuItems.Add("Open")
$NotifyMenuClose.OnClick = "OpenFromTray()"
$NotifyMenuClose = $NotifyMenu.MenuItems.Add("Close")
$NotifyMenuClose.OnClick = "Closing()"
$Form1.Show
$Form1.SetFocus()
SetTray()
While $Form1.Running or $Form1.Visible
   $Nul = Execute($Form1.DoEvents)
Loop
Exit 0
Function SetTray()
   If $Form1.TrayMenu.Checked
      $Form1.TrayMenu.Checked=0
      $Form1.TrayMenu.ImageIndex=65
      $Form1.OnResize = ""
      $NotifyIcon = ""
      $Form1.Running = 0
   Else
      $Form1.TrayMenu.Checked=1
      $Form1.TrayMenu.ImageIndex=64
      $Form1.OnResize = "MinimizeToTray()"
      $NotifyIcon = $System.NotifyIcon()
      $NotifyIcon.Icon = $Form1.Icon
      $NotifyIcon.Text = $Form1.Text
      $NotifyIcon.Visible = "True"
      $NotifyIcon.OnDoubleClick = "OpenFromTray()"
      $NotifyIcon.OnMouseDown = "TrayClicked()"
      $Form1.Running = 1
   Endif
EndFunction
Function MinimizeToTray()
   If $Form1.WindowState = 1
      $Form1.Hide()
   Endif
EndFunction
Function OpenFromTray()
   If Not $Form1.Visible Or $Form1.WindowState = 1
      $Form1.WindowState = 0
      $Form1.Show()
      $Form1.Activate()
   Endif
EndFunction
Function TrayClicked()
   If $NotifyIcon.MouseButton=2
      $NotifyMenu.Show($notifyicon.mousex,$notifyicon.mousey)
   EndIf
EndFunction
Function Closing()
   $Form1.Hide()
   $Form1.Running = 0
EndFunction