Hilfethema : PureBasic - Process
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
IsProgram -> ProgramRunningAndreas_S hat geschrieben:Bei mir ist Childprocess.exe zwar schon beendet aber der Handle wird nie 0...
Guck einfach in der Hilfe unter RunProgram, da ist ein Beispiel.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Code: Alles auswählen
WriteProgramString(), WriteProgramStringN(), WriteProgramData()
Code: Alles auswählen
Input(), Inkey()
Childprocess.exe:
test Code:
Code: Alles auswählen
OpenConsole()
PrintN("Hallo, ich bin der Childprocess.exe")
ClearConsole()
*Puffer = AllocateMemory(1000)
While Not ReadConsoleData(*Puffer, 1000)
Delay(10)
Wend
MessageRequester("Message", PeekS(*Puffer))
CloseConsole()
Code: Alles auswählen
EnableExplicit
Define hProcess.l
OpenConsole()
hProcess = RunProgram(OpenFileRequester("","","",0), "", "", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write | #PB_Program_Hide)
While ProgramRunning(hProcess)
If AvailableProgramOutput(hProcess)
PrintN("Childprocess.exe: " + ReadProgramString(hProcess))
WriteProgramString(hProcess, "Hello Too!")
Else
Delay(1)
EndIf
Wend
PrintN("ChildProcess.exe wurde beendet")
Input()
Ach ja ... Read/WriteConsoleData() gibs ja auch noch -.-
... aber für Strings eignet sich Input() und Print()/ PrintN() besser. Also
wäre das für Childprocess.exe:
Und dabei ist noch an zu merken, das Input() #PB_Input_Eof zurück gibt,
fals das Hauptprogramm vorzeitig beendet wird. Damit kann man sicher
stellen, dass der Childprocess nicht weiter läuft, wenn das
Hauptprogramm längst beendet wurde. (seis auch nur wegen Absturz)
MFG PMV
... aber für Strings eignet sich Input() und Print()/ PrintN() besser. Also
wäre das für Childprocess.exe:
Code: Alles auswählen
OpenConsole()
PrintN("Hallo, ich bin der Childprocess.exe")
MessageRequester("Message", Input())
CloseConsole()
fals das Hauptprogramm vorzeitig beendet wird. Damit kann man sicher
stellen, dass der Childprocess nicht weiter läuft, wenn das
Hauptprogramm längst beendet wurde. (seis auch nur wegen Absturz)
MFG PMV