Programm in Programm laufen lassen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Poser
Beiträge: 33
Registriert: 09.03.2005 21:02

Programm in Programm laufen lassen

Beitrag 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.
Poser
Beiträge: 33
Registriert: 09.03.2005 21:02

Beitrag 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?
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Mit "SetParent_()" kann man sogar noch das Fenster in sein eigenes einfangen ^^. Am besten mal in die MSDN schauen.
Bild
Poser
Beiträge: 33
Registriert: 09.03.2005 21:02

Beitrag 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...
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Beitrag von Leo »

Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag 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.
Bild
Antworten