I started messing with this once, although I didn't get very far. The ActivePerl PPM package of Win32::GUI doesn't seem to install the same docs that you can find on CPAN, but there are some tutorials included with that particular distribution.

Part 4 of the tutorial covers system tray icons, and the example script there did work for me under 2000. Here's my (very slightly) paraphrased version:

use Win32::GUI; my $main = Win32::GUI::Window->new( -name => 'main', -text => 'test', -width => 150, -height => 150 ); my $icon = Win32::GUI::Icon->new('test.ico'); my $tray = $main->AddNotifyIcon( -name => 'tray', -icon => $icon, -tip => 'test' ); Win32::GUI::Dialog(); sub tray_Click { $main->Enable(); $main->Show(); 1; } sub main_Terminate { -1; } sub main_Minimize { $main->Disable(); $main->Hide(); 1; }

Now, if you want to run this as a service, I have no idea how portable it is. Let us know if you get it to work.

-jehuni


In reply to Re: How do you toggle the system tray icon using Win32::Gui? by jehuni
in thread How do you toggle the system tray icon using Win32::Gui? by vroom

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.