Výstup příkazové řádky windows v C++

HackForum

Výstup příkazové řádky windows v C++#
Pokouším se dostat výstup příkazové řádky do proměnné returnData. Na první pohled jednoduchá věc, ... no zbastlil jsem tento zdroják, ale nefunguje spolehlivě:

...
#define EXECFILENAME "exec.bat"
#define BUFFILENAME "buf.dat"
...
string clientCMD = "dir c:\\";
string returnData;
stringstream ss;
fstream fileHandle;
...
fileHandle.open(EXECFILENAME, ios::out | ios::binary);
fileHandle << "@echo off" << "\r\n";
fileHandle << clientCMD << "> " << BUFFILENAME << "\r\n";
fileHandle << "exit";
fileHandle.close();
WinExec(EXECFILENAME, SW_HIDE);
fileHandle.open(BUFFILENAME, ios::in | ios::binary);
ss << fileHandle.rdbuf();
fileHandle.close();
returnData = ss.str();
DeleteFile(EXECFILENAME);
DeleteFile(BUFFILENAME);
...

Pokoušel jsem se dát i mezi jednotlivými kroky časovou prodlevu (Sleep), ale bez úspěchu.... Nevíte v čem jsem udělal chybu nebo neznáte nějaké méně krkolomné řešení?
(odpovědět)
nejmenuje | E-mail | Website | ICQ 2600079769.7.2007 13:58
re: Výstup příkazové řádky windows v C++#
Sleep neni casova prodleva v casu ktery je ve sleep program nereaguje nezpracovava zpravy ... jen tak mimochodem ;)

bohuzel jsem delphar ale chybu v kodu nejakou nevidim pokud mate c++ builder myslim ze se tam naleza komponenta TDosCommand ktera by vam mohla pomoci


(odpovědět)
Dreddy | 194.228.220.139/172.28.80.*9.7.2007 15:15

Zpět
 
 
 

 
BBCode