Thread Win32::Process - Prozesskontrolle scheitert bei explorer.exe
(12 answers)
Opened by Molaf at 2010-12-03 08:43
Aha! Da habe ich ja wieder was gelernt, ein neuer nützlicher Windows-Befehl. :)
Trotzdem habe ich noch ein Problem, diesmal die richtige PID zu bekommen für taskkill: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 use strict; use Win32; use Win32::Process; sub ErrorReport{ print Win32::FormatMessage( Win32::GetLastError() ); } my $ProcessObj1; my $ProcessObj2; Win32::Process::Create($ProcessObj1, $ENV{SystemRoot}."\\explorer.exe", "explorer.exe D:\\", 0, NORMAL_PRIORITY_CLASS, ".")|| die ErrorReport(); Win32::Process::Create($ProcessObj2, $ENV{SystemRoot}."\\notepad.exe", "notepad.exe C:\\test.txt", 0, NORMAL_PRIORITY_CLASS, ".")|| die ErrorReport(); sleep 5; $ProcessObj1->Kill(0) or &ErrorReport; $ProcessObj2->Kill(0) or &ErrorReport; sleep 1; my $pid = $ProcessObj1->GetProcessID(); system('taskkill','/PID',$pid); print "pid:$pid\n"; Die PID scheint nicht zu stimmen, die GetProcessID mir zurückgibt. |