Seite 1 von 1

Programm in Programm laufen lassen

Verfasst: 17.03.2005 19:48
von Poser
Ist sicherlich möglich: Kleines Tool mit PB was ein anderes Programm startet und in einer Art "Sandbox" ausführt, z.B. alle Tasteneingaben abfängt.

Verfasst: 19.03.2005 16:25
von Poser
Source run.exe:

processID.l = RunProgram("test.exe")
Repeat
Until KeyboardPushed(#PB_Key_All)

test.exe ist ein Programm ohne "Ende".

Wie kann ich jetzt text.exe nach dem Drücken beenden lassen?

Verfasst: 19.03.2005 16:31
von MVXA
Mit "SetParent_()" kann man sogar noch das Fenster in sein eigenes einfangen ^^. Am besten mal in die MSDN schauen.

Verfasst: 19.03.2005 16:48
von Poser
Okay mit TerminateProcess_(processID, 0) kann ich den Prozess beenden.

Problem ist aber, daß alle Tastatureingaben NICHT erkannt werden,
da das text.exe-Programm anscheinend mehr Priorität hat da später
gestartet.

Gibt's eine Lösung für alle Arten von Programmen? Also egal ob
jetzt normales Fenster oder OpenScreen...

Verfasst: 19.03.2005 16:58
von Leo

Verfasst: 19.03.2005 17:15
von MVXA
da kann aber ziehmlich viel Müll mit gefangen werden. Ich würde mal vorschlagen den Hook auf das Fenster auf eine eigene Prozedur um zu leiten, diese fängt dann alle Tasten events ab und ruft dann anschließend den hook des anderen Fensters auf. hab ich mal irgendwie geschafft, um abzufangen ob sich n Fenster bewegt. War mit VB und viel subclassing.