in reply to detecting activities of scripts

Win32::GUITest should work, it can identify windows based on title (among other criteria) and, if it needed, send them keystrokes like enter or escape to close them.

Replies are listed 'Best First'.
Re: Re: detecting activities of scripts
by Anonymous Monk on May 14, 2004 at 09:56 UTC
    Yep, I think this will work, however not sure how!

    This is the code that I have done so far
    #! c:\perl\bin $|++; use strict; use Win32; use Win32::GuiTest qw(FindWindowLike GetWindowText SetForegroundWindow + SendKeys); use vars qw /%data/; $Win32::GuiTest::debug = 0; # Set to "1" to enable verbose mode $data{apps_list} = shift @ARGV; $data{host} = Win32::NodeName(); system (cls); print "\nThis machine is ". $data{host}; print "\n\nPath to apps list => ". $data{apps_list}."\n"; open (LST, "$data{apps_list}") || die "$! : File was not found\n"; chomp (@{$data{Go_scripts}} = <LST>); for my $item (@{$data{Go_scripts}}) { print "\n$item\n"; system ($item); my @win =FindWindowLike(0, "^Go", ""); for (@win) { print "$_>\t'", GetWindowText($_), "'\n"; SetForegroundWindow($_); ); } #print "$^E, $!\n".Win32::FormatMessage(Win32::GetLastError()); Win32::AbortSystemShutdown($data{host}); print "\nDone\n"; }
    System($item) will run the 'Go' scripts for me, I would only get a windows message box if the installation was NOT successfull. Other than that I do not get a confirmation of successfull installation. So, if the installation did not begin, then a message box appears titled GO, and starts with the string "the Go script did not start due to...."

    Can someone please show me how can I detect that this window has popped up? and be able to send a mouse click to the ok button in that message box so the script can continou?

    TIA