15,471
社区成员
发帖
与我相关
我的任务
分享
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);
}