I can hide the tray icon before the program exist by trying to show an empty (invalid) tray icon with the same id.
sub main_Terminate { my $icon1; $ni = $main->AddNotifyIcon(-name => "NI", -id => 1, -icon => $icon1, -tip =>"MyApp App"); $main->Hide(); -1; } Hope this is useful to somebody :) I tried on win2003 server, Activstate perl 5.83