2 Programme in einem
-
Tach zusammen,
vorweg: Ich hoffe, dass das Topic in dem richtigen Forum ist, ansonsten verschiebt es bitte.
Zum Thema: Der Titel mag etwas verwirrend klingen, doch genau das würde ich gerne machen. Ich habe 2 vorkompilierte Programme, einmal ein Programm, dass sich immer die neuesten Updates zieht und einmal ein Programm, dass die Anwendung letztlich ausführt. Jetzt würde ich gerne ein Proggi schreiben, welches einer selbst-extrahierendem Anwendung nahe kommt, nur das es die Programme nicht auf die Festplatte kopiert, sondern nacheinander ausführt (Prog A wird gestartet, vom User beendet, Prog B wird gestartet, vom User beendet, Alles beendet sich). Leider bin ich grad etwas ratlos, wie dabei die Theorie aussieht. Könnt ihr mir etwas auf die Sprünge helfen? Ist nebenbei alles für Windows gedacht.
-
Das Updateprogramm startet dann das 2. WO ist das Problem?
-
Es sollen die Programme ja nicht entpackt werden. Der Sinn der Sache ist, anstatt vielen exen nur eine zu haben, die man ausführen muss. Das würde ich gerne erreichen nur dafür fehlt mir halt ein Ansatz.
-
ne bat datei
-
mit ner bat datei hätte ich logischerweise 3 Dateien, 2x Exe + 1x bat. Hab ich mich so misverständlich ausgedrückt?
-
Quellcode des einen Programms kopieren und in den des anderen Programms einfügen?
-
unter wind00f kannst du keine images im memory ausführen. du musst sie ausschreiben. du kannst die andere exe einfach als resource mitreinpacken und ins windoof tmp dir ausschreiben. das ist die gängige praxis.
-
Ich mach das so:
in winMain der EXE ist ein Verteiler.
a) falls kein spez. Paramater vorhanden => starte "alternatives" WinMain.
b) ist spez. Parameter vorhanden => starte ganz normal (wäre Prog
Der parameter könnte z.B. sein "HandleA=xxx", für xxx ist vom
Mainform->Handle der integer zu übergeben.in "alternativem" WinMain wird ein ganz anderes Hauptform erzeugt, initialisiert und gestartet (wäre Prog A).
Mit CreateProcess wird dieselbe EXE neu gestartet, aber MIT spez. Parameter.
Dann wird gewartet, bis dieser zweite Process initialisiert wurde.In Version B warte, bis das Fenster mit Handle vom Parameter ungültig wird (=Prog A beendet).
- Das ganze sieht aus wie ein Splash- Screen
- Der Splash kann aber bedient werden! (ich hab da zb. nen IExplorer
drin mit meiner HP)
- Programm B kann daten für ein Startprotokoll übermitteln
(Message mitCopyData)Gruss
frank
-
Wurde eh schon gesagt: Die EXE als Resource des Startprogrammes.