in reply to Re: File::Tail with GUI
in thread File::Tail with GUI

Just use Win32::GUI::MessageBox intead. Why create a full window with dialog just for an alert?

Replies are listed 'Best First'.
Re^3: File::Tail with GUI
by Acid Amygdala (Novice) on Mar 04, 2009 at 22:09 UTC
    Although a Message Box would work with File::Tail, it will not work for this because I need more than one alert up at one time.
      use warnings; use File::Tail; use Win32::GUI(); use Win32::Sound; @alert = ['a'..'z']; $i=0; $p=1; my $line; my $filename = "log3.txt"; my $file=File::Tail->new(name=>$filename); while (defined($line=$file->read)) { if($line=~ /(\s+)(\d{1,4})(\.\d{1,4}){3}(\s+)/) { &Build_Window; ++$i; ++$p; } } Win32::GUI::Dialog(); sub Build_Window { if($i==50){ $p=1; $i=0;} $datetime = localtime(); $alert[$i] = new Win32::GUI::Window(-name => "Alert", -width = +> 500, -height => 150, -pos => [$p*10, $p*10]); $font = Win32::GUI::Font -> new(-name => "Arial", -bold => 1); $alert[$i] -> AddLabel(-text => $datetime, -font => $font); $alert[$i] -> AddLabel(-text => "SNORT ALERT: MALICIOUS BEHAVI +OR DETECTED!", -font => $font, -top => 50); $alert[$i] -> AddLabel(-text => $line, -font => $font, -top => + 75); my $t1 = $alert[$i] -> AddTimer('T1', 1000); #Win32::Sound::Play("SystemExclamation"); $alert[$i] -> Show(); $alert[$i]->DoEvents(); sub T1_Timer { return -1; } sub Alert_Terminate { return 1; } }
      After reinstalling Perl, all that remains is that I cannot interact with the windows that I create. Any ideas are welcome, and thanks to those who have given me advice and ideas already, you are greatly appreciated.