Показать сообщение отдельно

  #9  
Старый 23.04.2007, 17:36
sni4ok
Участник форума
Регистрация: 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;
}
 
Ответить с цитированием