ich habe ein kleine prblem mit einem programm, das ich mir grad geschrieben habe, das mir zeitgesteuert meinen rechner (oder evtl einen anderen im LAN) herunterfahren soll. dazu setz ich mir entsprechend der eingaben in der maske (tkinter) einen windows befehl im schema 'shutdown -s -f ...' zusammen.
wenn der timer abgelaufen ist, wird dieser dann ausgeführt
hier mal der textausschitt, der relevant sein könnte:
Code: Alles auswählen
def count(self, speed=1000):
if not self.abort: #abort gehört zu einem abbruch button
self.counter -= 1 # self.counter ist die eingestellte zeit die runterläuft
if self.counter==30:
Nachricht() # hier kommt ein kleines fenster hoch, das warnt, dass nurnoch 30sek bleiben
if self.counter >= 0:
self.timer.set(self.zeiteinheit()) # hier wird ein label geänder um den countdown anzuzeigen
self.master.after(speed, self.count)
else:
self.action=1
self.do_it() # wenn die zeit abgelaufen ist, wird do_it ausgeführt
def do_it(self):
cmd="shutdown -f" #das 'grundgerüst' wird erweitert durch
cmd+=self.get_modus() #fügt den modus (also '-s' oder '-r') bei
if self.lan.get():
cmd+=self.get_lan() #fügt den computernamen bei, wenn ein rechner im netzwerk abgeschltet werden soll
Popen(cmd) # führt den befehl aus
das funktioniert ja auch alles,
ABER
nachdem ich das skript mit py2exe kompiliert (ich weiß, es wird nicht wirklich kompiliert) habe, wird nach ablauf des timers nicht der befehl ausgeführt, sondern eine neue instanz des programms ausgeführt. es springt also einfach ein neues fenster hoch...
versteh ich leider garnicht
ich hätte es gern als exe, weil ich das nem kumpel geben wollte der mit programmierung garnichts am hut hat, weshalb es affig wär bei dem die pythonumgebung zu installieren
ich hoffe ihr könnt mir helfen
lg
elactic