perlquestion
chinman
Hey,<br>
I've been trying to get the code shown below to work on NT, and it's driving me nuts. It works flawlessly on Win2k, but not on NT 4.0. The GetActiveObject does not seem to return anything, even when several copies of IE may be running. I've searched thru the ActiveState mailing lists, etc, but I can't find any solution or workaround for the problem. Any ideas?<br>
Thanks,
<br>chinman
<code>
#!/usr/bin/perl -w
use strict;
my $file = 'C:\temp\index.html';
display_browser("$file");
##subroutine that supposedly displays a file in IE browser window
sub display_browser {
my $file = shift;
## convert backslashes to forward slashes in the file path
$file =~ s!\\!/!g;
if ( $^O eq "MSWin32" and "$file" and -e "$file" ) {
use Win32::OLE;
## test to see if internet explorer is already running
my $ie = Win32::OLE->GetActiveObject('InternetExplorer.Application');
## if ie is not running, launch it, yeah right!
unless ( defined $ie ) {
$ie = new Win32::OLE( 'InternetExplorer.Application', '' ) or die "Yikes, can't launch Internet Explorer: $!";
}
## if we were successful in launching, make visible and navigate to the proper URL
if ( defined $ie ) {
$ie->{Visible} = 1;
$ie->Navigate("$file");
}
}
}
</code>