#!/usr/bin/perl -- use strict; use warnings; use Win32::SysTray; Main( @ARGV ); exit( 0 ); sub Main { my $tray = new Win32::SysTray ( 'icon' => shift , 'single' => 1, ) or exit 0; $tray->setMenu ( "> &Test" => sub { print "Hello from the Tray\n"; }, ">-" => 0, "> E&xit" => sub { return -1 }, ); MainLoop( $tray ); } sub MainLoop { my( $tray ) = @_; for my $i (1 .. rand 1000){ print "my $i\n"; # $tray->runApplication; # last if -1 == Poke( $tray ); die "user quit" if -1 == Poke( $tray ); Win32::Sleep( rand 1000 ); } } #~ sub Win32::SysTray::Poke { sub Poke { my( $tray ) = @_; Win32::GUI::DoEvents(); }