Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » HILFE, kann man das ändern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.12.2004, 13:29 Uhr
~PipeVersuch
Gast


einen wunderschönen guten Tag, habe gestern Abend, hier in der Suche etwas zu Pipes gefunden, was auch wunderbar funktioniert:

C++:
#define BUFFSIZE 4096
char cPipeResult[BUFFSIZE];
memset(cPipeResult,0,BUFFSIZE);
DWORD dwBytes =0;
PROCESS_INFORMATION PROCCINFO;
LPSECURITY_ATTRIBUTES lpPipeAttributes = NULL;
HANDLE hReadPipe;
HANDLE hWritePipe;
SECURITY_ATTRIBUTES SecAttribs;
SecAttribs.lpSecurityDescriptor = NULL;
SecAttribs.bInheritHandle = TRUE;
SecAttribs.nLength = sizeof(SecAttribs);
if( ! CreatePipe( &hReadPipe,  &hWritePipe,  &SecAttribs, 0))
{
    AfxMessageBox("Konnte Pipe nicht erstellen");
}
else // Ok  Prozess vorbereiten
{
    STARTUPINFO INFO;
    INFO.cb=sizeof(STARTUPINFO);
    INFO.lpReserved=NULL;
    INFO.lpDesktop= NULL;
    INFO.lpTitle=NULL;
    INFO.dwX=0;
    INFO.dwY=0;
    INFO.dwXSize=100;
    INFO.dwYSize=100;
    INFO.dwXCountChars=0;
    INFO.dwYCountChars=0;
    INFO.dwFillAttribute=NULL;
    INFO.dwFlags=STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW|STARTF_USEPOSITION;
    INFO.wShowWindow= SW_SHOWDEFAULT;
    INFO.cbReserved2=0;
    INFO.lpReserved2=NULL;
    INFO.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
    INFO.hStdOutput= hWritePipe;
    INFO.hStdError= GetStdHandle(STD_ERROR_HANDLE);
    
    CreateProcess( m_PfadDerExe,NULL, NULL, NULL, TRUE, CREATE_DEFAULT_ERROR_MODE|
                  NORMAL_PRIORITY_CLASS, NULL, NULL, &INFO, &PROCCINFO);
    WaitForSingleObject(PROCCINFO.hProcess, 5000);
    ReadFile(hReadPipe, cPipeResult, sizeof(cPipeResult), &dwBytes,NULL);
    AfxMessageBox(cPipeResult);
}  



er gibt mir auch in der Messagebox alle abfragen und eingaben aus, also wunderbar sozusagen, aber kann mir jemand sagen, wie ich das KonsolenProgramm Schritt für Schritt durchgehen kann???
Im Moment sieht es in der Messagebox so aus:

Faktor=0 //ZEILE 1
Zeitkonstante=0 //ZEILE 2
Anfangswert=0 //ZEILE 3

Fortsetzung mit beliebiger -Taste //ZEILE 4

Fehlermeldung = 0 //ZEILE 5

Ausgabe der Ergebnisse //ZEILE 6

0.00000 0.00000 0.00000 0.00000 usw


ich hätte jetzt allerdings gerne, daß mein Programm die Zeilen einzeln in der Messagebox ausgibt, und auch so beantworten kann...
Denn überall, wo eine "0" steht, sollte der Anwender eigentlich eine Zahl eingeben können...

für Tips wäre ich sehr dankbar
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.12.2004, 15:46 Uhr
~Pipe-Versuch
Gast


kann mir jemand vielleicht ein tut sagen oder vielleicht geben. Wo, wie von uwe unter Borland (Ausgabe von Konsolenprogramm abfangen) beschrieben etwas über pipes steht...
Möchte doch nur eine Konsolenanwendung starten und alle couts abfangen und beantworten mit meinem MFC-Gerüst.

wäre über alles dankbar
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: