Parent Prozess inkl. aller Child Prozesse versteckt starten

  • Hallo Leute,

    ich benötige Unterstützung bei einem Problem. Kurz zum Hintergrund:

    Damit eine aufwendige Simulation schneller durchgeführt wird, wird die Rechenlast auf mehrere Clients verteilt, die jeweils ein Teilstück dieser Simulation berechnen und ihre Ergebnisse an den Master zurückliefern. Dafür startet jeder Client eine Instanz des Simulationsprogramms per Kommandozeile, so dass nur der Rechenkern des Programms gestartet wird OHNE Oberfläche und führt ein programmiertes Makro aus.

    Da die Rechenleistung von möglichst vielen Rechnern genutzt werden soll, an denen normal gearbeitet wird, soll der Client möglichst ohne aufpoppende Fenster, Meldung usw. auf dem "Gastrechner" seinen Dienst verrichten. D.h. Komplett unsichtbar!

    Das Problem ist folgendes. Das Programm besitzt einen Kommandozeilenparameter mit dem man die Oberfläche abschalten kann. Per AutoIT starte ich eine oder mehrere Clients aus einem Tray Menü heraus mit dem besagten Parameter und der "@SW_HIDE" Option. Wird dem Client jedoch ein Job zugewiesen, erscheint kurz ein "Ladefenster" mit Fortschrittsbalken usw., das natürlich stört, weil es sich schön mittig auf dem Bildschirm platziert und den Fokus auf sich zieht. Dieses Verhalten kann man im Simulationsprogramm selber nicht abstellen, da es sich hierbei um eine selbstprogrammierte Lösung handelt.

    Das Problem warum das Fenster nicht automatisch versteckt wird liegt glaube ich daran, dass das Ladefenster von einem anderen Prozess gestartet wird.

    Gibt es in Auto IT die Möglichkeit den Client in einem "Eltern"-Prozess versteckt zu starten und alle "Kinder" zu verstecken?

    Meine gegenwärtige Lösung ist ein externes Auto IT Skript, das solange wartet bis das besagte Ladefenster erscheint, es versteckt und wieder wartet. Das blöde ist nur, dass auch viele Fenster ungewollt versteckt werden, wenn das Simulationsprogramm normal mit Oberfläche gestartet wird. Ich müsste hier einen Haufen von Ausnahmen einbauen. Außerdem poppt das Ladefenster für den Bruchteil einer Sekunde auf, bevor es verschwindet. Also keine optimale Lösung auf Dauer.

    Fenster Verstecken Skript:

    Client Starten Function:

    Einmal editiert, zuletzt von Vippis (9. Dezember 2013 um 12:40)

  • 1. "Kind" und "Eltern" :D wir sind hier durchaus der Begriffe "Child" und "Parent" kundig. "Kinder versteckt starten" im Titel hat mich jetzt total verwirrt.

    2. Was für ein Programm ist das denn? Nicht falsch verstehen aber ich muss ganz ehrlich sagen, wenn etwas KOMPLETT im Hintergrund laufen sollte bin ich immer etwas skeptisch ;)

    Bild1: Ich beim debuggen

  • OK, ich habe den Titel angepasst. Du hast Recht, er ist etwas verwirrend ...

    Bei dem Programm handelt es sich um INTEGRAL, ein Netzberechnungsprogramm. KOMPLETT im Hintergrund läuft es ja nicht. Im Tray bleibt ein Icon mit dem der Prozess jederzeit beendet werden kann. Nur zwischendurch soll der User nicht belästigt werden.