
23.04.2007, 17:36
|
|
Участник форума
Регистрация: 04.11.2006
Сообщений: 150
С нами:
10271420
Репутация:
175
|
|
Сообщение от je0n
тил ей блокнот:
Код:
ShellExecute(hwnd,"open","c:\\windows\\notepad.exe","","",SW_NORMAL);
так плохо- результат не вернётся, чтобы результат посмотреть(правда в ущерб асинхронности), стоит делать через пайпы
Код:
std::string Shell(std::string cmd)
{
FILE *pf;
if( (pf = _popen(cmd.c_str(), "rt")) == NULL )
throw std::runtime_error("_popen error");
std::vector<char> buf(4097);
std::string ret;
for(;;){
char* str = fgets(&buf[0], int(buf.size()) - 1, pf);
if(!str) break;
Decode_DOS_to_Win(&buf[0]);
ret += std::string(&buf[0]);
}
_pclose(pf);
return ret;
}
|
|
|