BrowserUk,
The code looks something like this:
for my $pdf (glob('*.pdf')) {
my $txt = convert_pdf_to_text($pdf);
next if ! interesting($txt);
# ...
}
sub convert_pdf_to_text {
my ($file) = @_;
my $abs_file = rel2abs(catfile(curdir(), $file));
## Start Simpo PDF To Text
system(1, 'C:\Program Files\Simpo PDF to Text\PDF2Text.exe');
# Locate the window
my $wid = WaitWindow('Simpo PDF to Text', 5);
die "Couldn't find 'Simpo PDF to Text' window" if ! defined $wid;
## Make sure it is on top
SetForegroundWindow($wid);
# Convert PDFs
add_pdf($abs_file);
convert();
# Close the application
SendKeys('%{F4}');
my $txt_file = construct_txt_file($file);
return '' if ! -r $txt_file;
my $data = read_file($txt_file);
unlink $txt_file or die $!;
return $data;
}
As you can see, I use system(1, $app) to start the application and alt+f4 to close the application (before starting the new one). I have already worked around the problem by leaving the app open. Just not sure why this doesn't work as I would expect.