Pipe API

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Der Fleckenzwerg
Beiträge: 11
Registriert: 18.10.2004 19:27

Pipe API

Beitrag von Der Fleckenzwerg »

Hi,

ich will unter Win XP mit Pipes die Eingabe / Ausgabe der cmd.exe mit meinem Programm steuern. Wenn ich die Ausgabe dann mit ReadFile_() in einer Schleife lese, funktioniert das so lange, bis ich alles gelesen habe. Ist die cmd.exe im Leerlauf und liegen keine neuen Daten auf der Pipe freezt mein Programm so bald ich die ReadFile_() Api aufrufe. Kann ich irgendwie überprüfen, ob Daten auf der Pipe bereit liegen ?! Oder wie kann ich das Problem sonst umgehen ?!
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

ich hab bei sowas Readfile_() immer in einen Thread gepackt, aber ich glaub nicht, dass das die beste Lösung ist ;)
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Der Fleckenzwerg
Beiträge: 11
Registriert: 18.10.2004 19:27

Beitrag von Der Fleckenzwerg »

Hab schon 'ne Lösung gefunden, ich kann vorher mit GetFileSize_() Überprüfen, ob Daten auf der Pipe bereitliegen.
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Kommt vielleicht etwas spät, aber mir ist gestern aufgefallen das bei GetFileSize_() folgendes steht:
"You cannot use the GetFileSize function with a handle of a nonseeking device such as a pipe or a communications device."

Bei mir gibt GetFileSize_() auch nicht immer das richtige zurück...
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Antworten