c调用程序并得到其输出的方法

char buffer[1024];STARTUPINFO si = {0};PROCESS_INFORMATION pi = {0};DWORD bytesRead;SECURITY_ATTRIBUTES sa = {0};HANDLE hRead = NULL, hWrite = NULL;//设置管道读写句柄sa.nLength = sizeof(SECURITY_ATTRIBUTES);sa.lpSecurityDescriptor = NULL;sa.bInheritHandle = TRUE;if (!CreatePipe(&hRead, &hWrite, &sa,0))//创建管道{return;}si.cb = sizeof(STARTUPINFO);GetStartupInfo(&si);si.hStdError = hWrite;//si.hStdOutput = hWrite;//si.wShowWindow = SW_HIDE;si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;//key stepif (!CreateProcess(NULL, command, NULL, NULL, TRUE, NULL, NULL, NULL, &si, &pi)){CloseHandle(hWrite);CloseHandle(hRead);return;}WaitForSingleObject(pi.hProcess,INFINITE);// Close process and thread handles.CloseHandle(pi.hProcess);CloseHandle(pi.hThread);CloseHandle(hWrite);memset(buffer, 0, 1024);while(ReadFile(hRead, buffer, 1024, &bytesRead, NULL)){PRINTLOG(buffer);memset(buffer, 0, 1024);}CloseHandle(hRead);

,天才就是这样,终身努力,便是天才。

c调用程序并得到其输出的方法

相关文章:

你感兴趣的文章:

标签云: