关于CreatProcess的问题
有没有人使用CreatProcess调用adb.exe命令.我每次使用CreatProcess的时候都不成功。
代码如下:
m_Command CString strCommand = _T("D:\\MyProject\\adb.exe"); strCommand.AppendFormat(_T("/C %s"),m_Command); SECURITY_ATTRIBUTES Sa; HANDLE hRead,hWrite; Sa.nLength=sizeof(SECURITY_ATTRIBUTES); Sa.bInheritHandle=TRUE; Sa.lpSecurityDescriptor=NULL; if(!CreatePipe(&hRead,&hWrite,&Sa,0)) { AfxMessageBox(_T("Error On CreatePipe()")); return false; } STARTUPINFO si; PROCESS_INFORMATION pi; si.cb=sizeof(STARTUPINFO); GetStartupInfo(&si); si.hStdError=hWrite; si.hStdOutput=hWrite; si.wShowWindow=SW_HIDE; si.dwFlags=STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES; if (!CreateProcessW(NULL,strCommand.GetBuffer(strCommand.GetLength()) ,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi)) { AfxMessageBox(_T("Error on CreateProcess()")); return false; } CloseHandle(hWrite); char buffer[4096] = {0}; DWORD bytesRead; while (true) { if (ReadFile(hRead,buffer,4095,&bytesRead,NULL) == NULL) return false; CString str; str.Format(_T("%s"),buffer); Sleep(200); }