利用windows管道技术捕获标准输出
2011-07-30 19:46
591 查看
网络上找了一个月才找到,真不容易啊,希望对大家有帮助
void CTestDlg::OnButton1() { // TODO: Add your control notification handler code here SECURITY_ATTRIBUTES sa; HANDLE hRead,hWrite; sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL; sa.bInheritHandle = TRUE; if (!CreatePipe(&hRead,&hWrite,&sa,0)) { MessageBox("Error On CreatePipe()"); return; } 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 (!CreateProcess(NULL,"cmd.exe /c dir /?" ,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi)) { MessageBox("Error on CreateProcess()"); return; } CloseHandle(hWrite); char buffer[4096] = {0}; DWORD bytesRead; while (true) { if (ReadFile(hRead,buffer,4095,&bytesRead,NULL) == NULL) break; m_edit += buffer;//m_Edit1是CString m_edit.Replace("\n","\r\n"); UpdateData(false); Sleep(200); } }
相关文章推荐
- 利用Visual C#实现Windows管道技术
- windows下利用_popen,_wpoen创建管道进行系统命令输出数据
- 利用管道获取控制台程序的标准输出
- MFC 执行CMD命令 利用管道技术读取输出内容
- 利用管道获取控制台程序的标准输出
- 利用Visual C#实现Windows管道技术1
- 利用Visual C#实现Windows管道技术
- 利用Smarty模板技术设计一定范围内奇偶数的输出
- 管道技术获取控制台输出
- Windows管道技术简述
- 不可或缺 Windows Native (13) - C++: 标准输入, 标准输出, 字符串内存流
- 管道技术获取控制台输出
- 在VC中使用Windows管道技术编程
- python调用外部子进程,通过管道实现异步标准输入和输出的交互
- Windows管道技术
- Windows管道技术简述
- 利用讯飞语音识别技术开发离线语音控制系统(Windows平台)
- Linux进程间通信:管道(把管道用作标准输入和标准输出)
- Windows管道技术
- Windows中的管道技术