PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : windows blockiert



Molaf
27-02-2009, 04:31
Hallo allerseits,

ich habe ein Problem mit Perl-Skripten unter Windows (XP prof. SP3).
Privat habe ich keins mehr, weswegen ich nur noch auf der Arbeit Kontakt damit habe - meine privaten Forschungsmöglichkeiten sind also eingeschränkt.

Es geht um ein Skript, welches im Systray hängt und diverse andere Software steuert. Logischerweise läuft es dauernd, und wenn man den Rechner runterfahren will läuft es auch noch. Windows bietet dann an zu warten oder das Programm zwangsweise zu beenden.

Das ist sehr unschön, lieber wäre mir, wenn das Programm irgendwie mitkriegen würde. daß ein Shutdown ansteht, und sich selber beendet.

Meine Frage lautet: Wie greift man vom System die Botschaft ab, daß der Rechner jetzt runterfahren will?

Das Skript habe ich selbst geschrieben, hätte also die volle Kontrolle. Das Perl ist ein ActiveState 5.10 mit unter anderem Win32 und Win32::GUI, weitere Module wäre kein Problem (so sie als ppm vorliegen).

Danke im voraus,
Molaf

reneeb
28-02-2009, 11:09
Wenn Du es mir schickst (dpw2009 bei renee minus baecker punkt de), kann ich es mir mal anschauen...

Molaf
03-03-2009, 19:09
Das kann ich gerne machen. Diese Woche habe ich aber Urlaub, ich komme also vor Montag nicht ran an das Ding.

Im Prinzip ist es zu fast 99% der Beispielcode von Win32::Systray.
Übrigens tritt der gleiche Effekt auch auf bei GUI-Programmen mit Tk, wenn sie zur Zeit des Shutdown-Beginns noch laufen.

Ich kann den Code nächste Woche jedenfalls mailen oder hier posten.

Gruß,
Molaf

Molaf
10-03-2009, 12:20
So, ich bin wieder auf der Arbeit, windows lacht mich an und ich habe den kleinstmöglichen Codeschnipsel, der Probleme beim Runterfahren macht:

use strict;
use Tk;

my $mw = MainWindow->new;

MainLoop;

Ok, use strict könnte man auch noch weglassen...
Unter Linux wird das Programm automatisch beim Herunterfahren beendet (irgendwie über die SIGINTs, die nicht abgefangen werden). Unter Win2K und WinXP wird das Herunterfahren pausiert (soweit ich weiß endlos), sogar mit der Option, das Herunterfahren abzubrechen(!) um den Fehler zu beheben oder aber das Programm abzuschießen.

Wie bekomme ich da etwas mehr Harmonie in die Sache, meine Programme sollen das Herunterfahren nicht mehr behindern?

Thx, Molaf