User since
2005-07-22
2
Artikel
BenutzerIn
Hallo Leute,
weiss einer von Euch, wie ich die Prozess-ID einer Anwendung ermitteln kann, die ich via Win32::OLE->new() ins Leben gerufen habe?
Grüsse
Steinbeisser
User since
2003-08-18
142
Artikel
BenutzerIn
Wie wärs mit
Win32::Process::Info
use Win32::Process::Info;
$pi = Win32::Process::Info->new ([machine], [variant]);
@info = $pi->GetProcInfo (); # Get the max
info ist ein Array mit Hashes. Das Element ExecutablePath des Hashes brauchst Du als Schlüssel, das Element "ProcessId" ist dann die zugehörige PID.
User since
2005-07-22
2
Artikel
BenutzerIn
Hi,
danke für Deine Antwort. Leider lässt sich der Prozess nicht zu 100% zuordnen. Hier ein kleines Beispiel, um die Problematik zu zeigen. Der 'ExecutablePath' ist bei beiden identisch => keine genaue Zuordnung möglich.
#!/perl
use strict;
use warnings;
use Win32::OLE;
my $excel_1 = Win32::OLE->new('Excel.Application');
my $excel_2 = Win32::OLE->new('Excel.Application');
Gruss
Steinbeisser
User since
2003-08-04
7321
Artikel
ModeratorIn
was willst du damit?
Killen?
Lass dir sagen, dass es die beste Lösung ist, einfach alle Instanzen der Applikation zu töten. Automatisierung über Ole ist nie wirklich sauber... leider!