I'm using Win32::OLE to open files in MS Word. Occasionally Word encounters
a corrupt file that it cannot open, and so Word just hangs. The Perl script
making the OLE calls also hangs while it waits for Word to open the file. I
need to unhang Word by killing it.

My current plan (unless there's something simple that I'm not seeing) is to
run a separate process, a timer script, that will kill Word if it is running
for more than a few minutes (normally, Word should only be running long
enough to open a file and print to disk). I can't use OLE because the
following test script hangs while it tries to GetActiveObject from the hung
Word:

use Win32::OLE;
print "1\n";    # I see this ...
if ($word = Win32::OLE->GetActiveObject("Word.Application")) {
   print "2\n"; # but I never see this ...
   $word->Quit;
}
print "3\n";    # and I never see this.

What are the best Perl tools other than OLE to determine if Word is running
and to kill it if it's been running for more than a few minutes?

I'd like this to work on a Win98 machine in addition to NT, so not all the
modules are available.

mike rafala
rafala m at cadmus com

_______________________________________________
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
http://listserv.ActiveState.com/mailman/listinfo/perl-win32-users

Reply via email to