Buna, nu imi dau seama de ce nu merge urmatorul cod pentru executia unei
comenzi simple (fiind la fel ca cel din laborator mi-am permis sa il scriu
aici).
bool parse_simple(simple_command_t *s, int level, command_t *father, HANDLE *h)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
DWORD dwRet;
BOOL bRet;
HANDLE hFile;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
si.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
si.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
si.hStdError = GetStdHandle(STD_ERROR_HANDLE);
si.dwFlags |= STARTF_USESTDHANDLES;
bRet = CreateProcess(NULL, get_argv(s), NULL, NULL, TRUE, 0, NULL, NULL, &si,
&pi);
DIE(bRet == FALSE, "Create Process");
dwRet = WaitForSingleObject(pi.hProcess, INFINITE);
DIE(dwRet == WAIT_FAILED, "WaitForSingleObject");
CloseProcess(&pi);
}
Please help :D si am apelat-o asa
if (c->op == OP_NONE) {
parse_simple(c->scmd,level,father,h);
}_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii