Createprocess funktioniert nicht

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

 

DjDETE

Betreff: Createprocess funktioniert nicht

BeitragMi, Jul 09, 2008 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
wenn ich das Beispiel für Createprocess aus der OH nehme, und das "...." durch "cmd" ersetzte, dass es so aussieht:
Code: [AUSKLAPPEN]

stream = CreateProcess("cmd")

If stream Then
   While Not Eof(stream)
      Print ReadLine$(stream)
   Wend
EndIf


hängt sich das Programm immer auf.
Wie kann ich dem vorbeugen?
MfG DjDETE
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.

Starwar

BeitragDo, Jul 10, 2008 8:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Probolem ist das stream nicht 0 wird. Das wird er (so meeine ich zu wissen) nur wenn das Programm
beendet wird.

Ich hab mal dashier getestet:
Code: [AUSKLAPPEN]

stream = CreateProcess("cmd")
Print ReadLine$(stream)
WriteLine stream,"help"
Print ReadLine$(stream)
WaitKey


Leider wird help nicht im BB-Fenster sondern in einem Popup der CMD angezeigt.
Aber in meinem BB-Fenster steht: Microsoft Windows XP [...]
 

Dreamora

BeitragDo, Jul 10, 2008 10:21
Antworten mit Zitat
Benutzer-Profile anzeigen
müsste man nicht einfach ReadAvail() nutzen um festzustellen, ob was geschrieben wurde, wie bei einem TCP Stream und es dann gegebenenfalls auslesen?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

DjDETE

BeitragDo, Jul 10, 2008 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt, aber es hängt sich trotzdem wieder auf.
MfG DjDETE
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.
 

danielos

BeitragMo, Sep 01, 2008 23:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Also bei mir funktioniert dieser code hier, das Programm beendet sich:

Code: [AUSKLAPPEN]
stream = CreateProcess("c:\winxp\system32\cmd.exe")

If stream<>0
   Repeat
      Lin$=ReadLine$(stream)
      Print lin$
   Until lin$=""
EndIf


End


MfG Danielos Smile
 

DjDETE

BeitragFr, Sep 05, 2008 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja aber probier mal den Code:

Code: [AUSKLAPPEN]

stream=createprocess("cmd")

repeat
 lin$=readline$(stream)
 if lin$<>"" print lin$
 print "!"
forever



Nach dem 2. ausrufezeichen nach der <c> Line hängt sich das Programm auf...

MfG DjDETE
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group