使用DOS管道的程式碼片段
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);
}
}
相關文章
- 程式碼片段
- 收集的jQuery程式碼片段jQuery
- RN程式碼片段
- 表格程式碼片段
- 常用程式碼片段
- vscode使用者程式碼片段VSCode
- 安卓常用程式碼片段安卓
- JS常用程式碼片段JS
- JQuery 程式碼片段收集jQuery
- Gorm常用程式碼片段GoORM
- 使用 implode.io 記錄分享你的程式碼片段
- VIM 程式碼片段外掛 Ultisnips 使用教程
- 有名管道程式碼
- 30+有用的CSS程式碼片段CSS
- CSS程式碼片段【圖文】CSS
- PHP程式碼片段記錄PHP
- iOS程式碼片段CodeSnippetsiOS
- 快速程式碼展示之快速的例子程式碼片段(轉)
- 18個很棒的jQuery程式碼片段分享jQuery
- 程式碼片段的管理gist+ideaIdea
- 12 個用得著的 jQuery 程式碼片段jQuery
- 程式碼片段管理工具
- @media響應式程式碼片段
- 60個有用CSS程式碼片段CSS
- vs code 新建程式碼片段 vue 基礎程式碼Vue
- vs code 新建程式碼片段 路由基礎程式碼路由
- java 管道流程式碼示例Java
- Golang, 以 9 個簡短程式碼片段,弄懂 defer 的使用特點Golang
- 那些優雅靈性的JS程式碼片段JS
- 非常實用的PHP程式碼片段推薦PHP
- 超級有用的9個PHP程式碼片段PHP
- 12 個非常實用的 jQuery 程式碼片段jQuery
- 10個典型實用的PHP程式碼片段PHP
- sublime text 3 自制快速程式碼片段
- 前端開發常用程式碼片段(下篇)前端
- 前端開發常用程式碼片段(中篇)前端
- 分享前端開發常用程式碼片段前端
- 60個有用CSS程式碼片段(二)CSS