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 | [reply] [d/l] |