使用DOS管道的代码片段
来源:互联网 发布:sql server 回滚 编辑:程序博客网 时间:2024/05/07 05:27
void CDosDirDlg::OnOK()
...{
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,"c:/windows/system32/cmd.exe"
,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_Edit1 += buffer;
UpdateData(false);
Sleep(200);
}
}
...{
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,"c:/windows/system32/cmd.exe"
,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_Edit1 += buffer;
UpdateData(false);
Sleep(200);
}
}
- 使用DOS管道的代码片段
- 使用DOS管道的代码片段
- ThreadLocal的使用[代码片段]
- 一个使用WSAEnumNetworkEvents的代码片段
- iOS UI代码片段-UIPageViewController的使用
- 使用jQuery代码片段
- 代码片段的导入
- 实用的代码片段
- 有用的代码片段
- 我的代码片段
- 可用的代码片段
- 有趣的代码片段
- 有用的代码片段
- 有用的代码片段
- 代码片段的备份
- 代码片段的转移
- Adapter的代码片段
- 使用WinDBG执行代码片段
- C基础学习总结
- 制作技术培训演示文档(PPT)的一些经验和建议
- C#的匿名方法
- 美军组建新独立兵种 黑客部队编入作战序列
- 小游戏Colorlin的游戏修改器
- 使用DOS管道的代码片段
- 如何设置Ubuntu做网关
- 线程经典代码三,(循环缓冲区,生产者/消费者关系)
- C++成员函数的重载、覆盖与隐藏
- WILL CODE ABAP FOR FOOD...
- Javascript中最常用的55个经典技巧
- 根据层次遍历的顺序建立树,树的层次遍历
- 通信软件白盒测试的三种境界
- 为自己加油!